TypeScript language support

Added support for TypeScript language (http://www.typescriptlang.org/).

This is a new clean PR overriding the previous one.