lib/stream: fix for clang/llvm/emscripten

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: use libgc only if platform supports it

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: extracts makefile_name from default toolchain

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: extracts default_outname from default toolchain

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
emscripten: intro the emscripten platform to generate to JS

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: support testing the emscripten module

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
example: intro an emscripten wrapper around hello world

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
example: intro an emscripten wrapper around fibonacci

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
examples: intro a README file to emscripten examples

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
emscripten: add general features to lib

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
emscipten_platform: do not use `append` on String

It have not the right expected behavior.
Also it brings in Ropes and a lot of other crazy dependencies.

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Compilation to JavaScript using the Emscripten SDK

Published for review but still needs some doc and examples. Works with most small examples but not yet with the naive_interpreter (but it's not clear why).

Usage:

    apt-get emscripten
    nitg -m emscripten examples/hello_world.nit
    nodejs hello_wold.js

Pull-Request: #506
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>