replaced YAML configuration with a GJS::Configuration class so that GJS can be more easily used from third party code