tests.sh: new engine `emscripten` for `nitg -m emscripten`
The produced .js files are then executed by nodejs.
All base tests that do not import kernel are skipped because
since the module lib/emscripten.nit imports the kernel module,
an automatic double definition of classes `Object` and `Sys` occurs.
nodejs cannot perform correctly synchronized input, thus `stdin` and all
file reading does not work although they work in a browser.
As a workaround, a special module `emscripten_nodejs.nit` is added that just
print "NOT_YET_IMPLEMENTED" on unsupported services on synchronized input,
thus marking the test as skipped.
Currently, 99 (7% of the 1390 tests) still cause some other kind of failures;
they will be investigated later.
The whole testing of all the tests takes 68m on my machine.
ccache in unusable and the option --jcache of emcc does not bring any boost.
So it is unlikely that `testall.sh` will include this engine.
Signed-off-by: Jean Privat <jean@pryen.org>