Support for GNOME Gjs JavaScript engine

Gjs is a somewhat special JavaScript engine, because the global object does not have setTimeout or setInterval; no main event loop is present until a GEventLoop is created and started manually.

I added emulation for setTimeout/setInterval using GLib functions which is triggered when Gjs is detected. A spec runner is also created that can run all the specs for Jasmine which run under Node.js, inside an appropriate GMainLoop and with Gio I/O functionality.