Use glib macros to declare and define objects
Since glib version 2.44, macros have been available to declare
GObject subclasses, in addition to the older macros (in version 2.4) for defining them. The new macros,
G_DECLARE_FINAL_TYPE, replace much boilerplate code and impose discipline on class and object structures. Balsa's code is slowly being ported to their use. This issue will be used to discuss merge requests and report progress.
The intent is to make these changes with no change in functionality. When we inevitably fall short of that lofty goal, this issue should also be used to report problems!