ES6 typings

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

Are we set on `_Constructor`? I have reservations because it's more than just a constructor; you have 

```TypeScript
fromCharCode(...codes: number[]): string;
```

which is a method on the static side. A lot of `.d.ts` libraries tend to use the `_Static` as a naming convention for these types.

I can honestly view it either way.