Switched to in-development TypeScript compiler.

- Union types.
- Switched default lib to lib.es6.d.ts
Use fake source files to implement auto-generated JSDoc comments.
Implemented @implements annotations in JSDoc and documentation generator.
Use quasis for building strings.
Use destructuring assignment and shorthand property names.