inject v8 context to cpgf
swap construct order
WIP: cpgf compatibility with new v8
upgrading v8
upgrading v8
upgrading v8
upgrading v8
upgrading v8
upgrading v8
upgrading v8
link with node's v8
fix v8/cpgf cleaning up sequence
fix cpgf class registration to module

when a nested class is created it is first registered
incorrectly (as it does not have the parent assigned yet).

Once the new parent is set, the original qualified name
was cached - this disabled usage of e.g. container iterators
as e.g. vector<a>::iterator would be overriden by vector<b>::iterator
(both being counted as only "iterator").

This patch resets the qualified names and forces to
re-register the class into the module with the new fqn.
enable more complex return types
allow accessing non virtual protected methods in wrapped classes
fix compile errors in tests
fix v8 isolate initialisation
fix tests crashes
fix return type
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.