split out GLib + build automatically build Gtk types

@bfredl This replaces pull request #33, but keeps the work of building the types at runtime, while keeping the detection of the Gtk type tree as compile-time work. I carefully avoid making any assumptions about the state of the world (such as the contents of GLib.gtypes_wrapper) outside of the current module -- I want `using Gtk` and later `reload("Gtk")` to run exactly the same code. I needed to add some uses of eval back in to accomplish this, but I use it only in cases where the result is (a priori) constant between compile and runtime.