GladeProject: implemented GtkTreeModelIface with a GtkTreeStore proxy object.

This hopefully will set us free of treemodel bugs.

For example, dnd was almost unusable with current gtk master without this patch.
It was getting lots of iter warnings and eventually crashing if you wanted to drag
one child from one toplevel to another back and foward.

Besides, now there is less complex code to maintaing (about 300 lines) and
should be faster in general since GtkTreeModel implements the data tree
with GLists that do not regenerate each time you want to iterate over the model
like we had to do because getting children from objects creates a new list.
GladeProjectProperties: Fixed lgplv3 text, added apache, mit and all permisive licenses.
_glade_tsort() simplyfied api by using a GList for edges instead of a
custom linked struct since we do not need the marginal speedup
now that dependencies are only between toplevels.
This allow us to easily sort edges alphabetically.

tests/toplevel-order: Updated to new _glade_tsort() api
GladeProject: Changed the way we calculate graph dependencies.
Instead of using glade_widget_depends() which implied N^2 invocations/iterations
(where N is the numbers of objects in the project) we now calcualte
dependencies based on property references.
This way we only have to iterace over every object once to check the list
of properties that constitute a reference to them.

In a real world example, sorting objects in geany.glade decreased from 120ms to just 1ms

plugins/gtk+/gtk+.xml.in, plugins/gtk+/glade-gtk-widget.c:
  Removed unused glade_gtk_widget_depends()
GladeCatalog: implemented catalog dependency sorting using _glade_tsort()
Now we detect circular dependencies!

Added private functions _glade_catalog_get_catalog() and _glade_catalog_tsort()
GladeProject: fixed <requires> tag output
GLADE_GTKBUILDER_HAS_VERSIONING() macro needs gtk version numbers,
not the required module we want to save.

Implemented glade_project_required_libs() using _glade_tsort()
so that requires tags are saved in dependency order.
gladeui/*.ui plugins/gtk+/*.ui: added license comment

Added LGPL license comment at the beginning of every template UI file,
set translation domain, gtk required version to 3.10, and ordered
<requires> by dependency.
glade.glade: Added license.

Now objects are correctly ordered by dependency.