gtk3: initialize GDK before GTK+

Because GTK+ depends on GDK.
clutter-gtk: initialize Clutter before ClutterGtk

Because ClutterGtk depends on Clutter.
clutter-gstreamer: initialize GStreamer before Clutter-GStreamer

Because Clutter-GStreamer depends on GStreamer.
clutter-gstreamer: initialize Clutter before ClutterGStreamer

Because ClutterGStreamer depends on Clutter.
gtk3-gi: add Gtk.check_version?

`Gtk.check_version` returns nil or "too old":String.
But `Gtk.check_version?` should return true or false.
glib2: add GObject#unref to free large object immediately

For example, Gdk::Pixbuf.
gtk3-gi: add LICENSE header
gi: support in GType array

TODO: implement "free" in rb_gi_value_argument_free_array_c().
gtk3-gi: remove a TODO comment

See commit f6c7153585d230f6bbabe6c208fd47f7c83875c9
gtk3-gi: require "gtk3-gi"
gtk3-gi: implement TreeIter#get_value and #set_value
gtk3-gi: improve a variable name
gtk3-gi: fix a hash key name

stock    ->
stock_id
     +++
gtk3-gi: use Gtk::Stock::XXX style instead of Gtk::STOCK_XXX
gtk3-gi: add CssProvider#load
gtk3-gi: add TextBuffer#get_iter_at
gtk3-gi: set TreeStore to TreeIter
gtk3-gi: wrap TextBuffer#insert
gtk3-gi: wrap TextBuffer#apply_tag
gtk3-gi: text can be omitted when initializing Label