stdin read support for node

Added stdin read support for node. It's a bit unusual, as node doesn't allow you to perform a blocking read on stdin. So, instead of the usual blocking until \n, it behaves as if stdin has been flagged with O_NONBLOCK. Perhaps it'd be nice to assert if you attempt to read on stdin and it hasn't been assigned O_NONBLOCK.

The return value of the default input implementation was also synchronized between node / the browser / shell.

According to:
https://github.com/kripken/emscripten/commit/c1ec4646
it was intentional that the browser and shell would never signal an EOF, however, sometime after that it was changed to this:
https://github.com/kripken/emscripten/blob/master/src/library.js#L519
so that in the browser, cancel would signal an EOF. However, the default value of '\n' was still being returned in the shell.

Now they've been synchronized - null is returned when no input is read.