Padre::Config contains a series of "feature" settings,
stored in the feature_* configuration namespace.
These settings are intended to allow the optional removal of unwanted features (and their accompanying bloat),
and the optional inclusion of experimental features (and their accompanying instability).

To allow both the removal and inclusion of option features to be done efficiently,
Padre checks the configuration at startup time and cooks these preferences down into constants in the Padre::Feature namespace.

With this mechanism the code for each feature can be compiled away entirely when it is not in use,
making Padre faster and recovering the memory that these features would otherwise consume.

The use of a dedicated module for this purpose ensures this config to constant compilation is done in a single place,
and provides a module dependency target for modules that use this system.