add virtual destructor
fix segfaults

as V8 does not clear global variables (even if V8::Dispose() is called)
clear the memory before it goes out of the main scope.

the segfaults were happening when the static data cleaner was trying to
clear the v8 pool after the main() finished and all the binding metadata
was cleared. As clearing the V8 data requires the meta class info of the
objects being cleared it was accessing an already deallocated pointer.

Solution is to clear the V8 data before the bindings are released.

Conflicts:
	lib/cpgf/samples/qtCore/sampleqtcore.cpp
update cpgf: change deprecated call
fix segfault

Conflicts:
	lib/cpgf/build/build.qt.txt
	lib/cpgf/samples/qtCore/sampleqtcore.cpp
fix memory leak when converting native->v8 objects
remove outdated hack (upgrade solved the issue in cpgf)
add memcheck suppressions for qt
pass arguments to gdb
rethrow v8 exceptions
walk js prototype chain to retrieve native ptr

Conflicts:
	examples/basic.js
	lib/cpgf/src/scriptbind/gv8bind.cpp
reuse existing V8 object by ptr address

When C++ is calling a wrapped method, the first
parameter passed is $this, however, a new V8 object
is created for the same native pointer that is already
existing. This causes all properties assigned in javascript
to be lost while inside the overriden method and also
increases memory usage and decreases performance while
creating the new instanance.

This patch tracks allocated javascript objects by the native
object address and passes the already constructed JS object
if its native pointer is being passed in the method arguments.