AMD support

- Build js bundles using requirejs;
- Overload requirejs "node/file" to use memory cached files instead of
  filesystem;
- Make Builder#build asynchronous

Closes gh-156