[v4integration] Introduce NODE_CTX_* macros

The aim is to minimise amount of duplicated code. It's not a final
version, and macros can be changed or even removed.
[buffer] Make use of NODE_CTX_* macros
[fs,path,process,util] Make use of NODE_CTX_* macros
[globalextensions] Make use of NODE_CTX_* macros
[module] Make use of NODE_CTX_* macros
[console] Make use of NODE_CTX_* macros
[engine] Make use of NODE_CTX_* macros
[buffer, engine] Simplify Buffer object allocation
[engine, ErrnoException] Simplify object allocation

Also implement ErrnoExceptionPrototype.
[engine] Block GC during instanciation of own global objects
[module] Create RequireFunction with global context

This fixes problem, when GC tried to delete RequreFunction, while
it was still in use.
[module] Coding style improvements
[buffer] Use QTypedArrayData instead of QByteArray
[project] Add .travis.yml
[project] Update .travis.yml with GCC 4.9 and fixe Qt build
[project] Fix GCC selection for Travis-CI
[project] Add libx11-xcb-dev dependency for Travis-CI
[project] Use -qt-xcb for Travis-CI build
[project] Another attempt to fix Travis-CI build

- use git clone --depth 1
- build Qt without widgets
- use checkout instead of cherry-pick
- delete qtbase and qtdeclarative dirs after build
[project] Use only two cores for Travis-CI builds

Also do not build Qt inside node.qml dir.