Real requires

![WIP](http://www.adventureflorida.com/images/Under_Construction_Animation.gif)

## don't merge, WIP-PR

- [ ] have a compiler that is able to compile .js as well as .rb files, this could even go as far as wrapping js code in a module and make it requirable (the parallel here is with .so / .dll files in MRI)
- [x] support for stubbed files, not sure if this goes into the NewBuilder or into the PathReader
- [ ] migrate all the code to use the NewBuilder, and then rename it to Builder (api is very similar btw)
- [ ] *EXTRA* allow for caching (pluggable, so we can use sprocket's when available)


### Issues

- [x] something's wrong with sprockets deps notification
- [ ] requiring js files before `runtime.js` leaves "stubs" that rely on the not-yet-present `Opal.modules`

---

See the [discussion on the diff](https://github.com/opal/opal/pull/482/files).