Cope with absolute file destinations on Windows

It is assumed that absolute file sources should be copied to the root of
the target directory.

On unix-based systems, an absolute path begins with a '/', which is
interpreted as 'start at root' and does the right thing. On Windows,
these paths contain ':' (e.g., C:/Source) which is an invalid path.
Improve diagnostics output if class definitions are missing
Update current directory magic in runtime.js

Previous behaviour caused build problems on Windows. New logic does the
same thing (effectively) as the previous implementation (i.e., if the
script path is relative, set the current directory of the runtime),
whilst avoiding build failures on Windows.
Handle absolute paths in nativeQTClient's application.qrc
Economise on command line length by passing in CC flags via file

Windows has an upper limit of 8000 chars in a single command, which the
current CC compilation command exceeds. Passing in the flags via file
saves about 900chars and allows this command to run.
Copy node modules locally so NodeJS picks them up

NodeJS makes it difficult to load modules outside the current folder,
and CMake makes it difficult to set environment variables. This is non
ideal, but at least functions correctly.