Y: Asynchronous module loader

This is work on an AMD compatible module loader.

https://github.com/amdjs/amdjs-api/wiki/AMD

This allows async module loading, and dependency resolution. See terminal.html in the diff.
Hmm, so ```require(['nosuchmodule'], done)``` never calls done.  Is that by design?