A much faster `sbt run`, with lazy loading.

Since Rhino is very slow at digesting the entire
output of packageJS, we help it by hijacking .js
files emitted by Scala.js in order to load them
lazily.

This is done by replacing ScalaJS.c,
ScalaJS.modules, et al. by host objects. Upon
first access to one of their field, they derive
the path to the script that defines that field,
inject that script into the interpreter, and
then continue.