ES6 typings

This is still work in progress. Feedback is appreciated.

Still missing:
- Typed arrays
- Promise
- Reflect
- Loader
- Use of known symbols