panel: Port toplevel configuration to GSettings
This is big, but actually mostly straightforward. The panel properties dialog still needs to be ported, and there is some code commented out (with #if 0) to enable build without porting this yet. We needed to split some enums in a new file (panel-enums-gsettings.h), so that we can generate GSettings schemas for them and use enums for keys. Note that we also drop the opacity key for background, as we directly store RGBA in the color key now.