New frontend: GTK (using gtkmm)

Also adjusted some things on the AppKit frontend and ObjC API as well for congruency with changes that were required to compile the GTK code on Linux