Bind to GSettings rather than read/write imperatively

This work is the result of the prior commit (updating the Preferences
box, specifically).  Instead of initialzing Widgets with GSettings
values and writing values out as Widget state changes, bind GSettings
values directly to the Widgets.  This logic is also moved out to the
rest of the application where monitoring changes is necessary.

This has the pleasant side-effect of allowing changes to come in from
GSettings backends (i.e. dconf) and having them updated in Geary
automatically.