Type System changes for JavaScript support

These changes will enable the JavaScript project to cache JavaScript parsed documents, as well as, enable background parsing for JavaScript files.