More work on GUI building, connecting signals to update config and so on.

This time, I went with the true and tested signals-based approach, changing the "backing store" (the Config's GKeyFile) when a widget changes.

The alternative is to let the widgets hold the state and then read it all out when the settings have been accepted, but that requires iterating the widgets which felt annoying.