Automatic Gain Control is a very important aspect of the audioreactive plugin,
and is vitally important when the external music volume constantly changes.
It makes sense to allow users to choose their preferred AGC behavior at
compile-time, since they can already set the Gain and Squelch via flags.
Adds `SR_AGC` as a flag, which defaults to 0 (off).
Redesign the usermod system so that usermods are implemented as
PlatformIO libraries instead of headers. This permits them to call for
dependencies, and eliminates the compiler flags for enabling each one,
allowing the build cache to behave better.
The usermod list is built using some linker magic to construct a static
list in ROM memory. This eliminates the need for wasting SRAM on
something fixed at build time.