enable more complex return types
allow accessing non virtual protected methods in wrapped classes
fix tests: propagate item type name

baseName in typeData is set to qualified name and is used as it.

once the item changes its qualified name, e.g. during reparenting,
the basename of its typedata should reflect it as well.
Optimize the GMetaTypedItemList::findByType method

Use a hash for the basetype retrieval.

This method is used to find the result type after each
method call (via fixupType) and also in fixUpHierarchy, taking O(n^2).

Valgrind reported ~76% of the time spent in this method for a sample
js program frequently invoking API through cpgf.
WIP: support for clang 3.4
move compiler checks to their own file
update metagen file to build on clang 3.4
generate lazy bindings
bind explicitly typdefed member template instantiations
use item itself to get its qualified name