Modularity update

We've been patching BiwaScheme with a similar patch to work with repl.it for sometime now but never tried to bring it upstream. The idea is to have less reliance on global functions and make I/O ports configurable.

* Got rid of global `p` and `put`.
* Use Console.p and Console.put in place of globals
* current_input and current_output defaults to Null ports so that users would define these interfaces.
* removed default input/ouput ports in favor of null ports.
* BrowserInput is now defined in the browser/console.js
* Added an input/output implementation for the node platform.
* Added CustomInput and CustomOutput ports for interfacing.
* Fixed Node repl.
* Implemented Node repl read.