The settings configuration is now a JavaScript module because dynamic
configuration is only possible in this way and dynamic settings
configuration is needed for the language as a setting.
Added a store to cache the settings configuration. The getSetting
function from useSettings is now synchronous and uses this cache.
The settings cache is set when loading the settings initially
(asnychronously).
Added the composable useSettings that provides the function getSetting.
This function returns the set value of the setting, or otherwise the
default value. If there is no default value, it returns undefined.