Add GtkBuilder and miscellaneous improvements

The bulk of this pull request is adding some initial support for GtkBuilder, though it's by no means complete. The code I have exists in order to get a basic window with statusbar built in glade to work, but I wanted to see if this approach fit in with how the rest of the library is designed. In particular, how should gtk_builder_get_object() be handled? All native C code uses explicit casting, but I feel like it would make for a cleaner API to have a family of Get() functions rather than make the user cast each returned GObject to something else.

Also of note, the Builder's Add() functions all use GError to capture error messages, which is something I hadn't seen yet in the rest of the library.