TypeScript models the entire JavaScript Dom