Migration to Typescript

Includes:

1. Jay's **typings** folder.
2. Jay's references in .ts files.
3. Renamed all .js to .ts, except libraries.