Bug fixes

Gtk+3 allows for multiple backends so the backend ident was broken.
Plus widgets are opaque now so the X11 window id code needed fixing.
Lastly, rather than testing the Gtk version all over the code with CHECK_GTK_VERSION(), use a conditional define for Gtk+3-only features.