Support for GtkBuilder UI files.

Fix Savannah bugs #29216 and #29900.

This patch uses switch statements to split support for Glade2 files
and incompatible GtkBuilder files.

The file check is done at the first tag passed by expat (the root
tag). Now any file ending (.glade, .glade2, .ui) will be detected
correctly, and now 'xgettext --keyword=property file.glade2' behaves
as expected, extracting also comments, translatable and context
attributes from a Glade2 file.
Tests for GtkBuilder UI files.
Document GtkBuilder UI files support.