Update sources TypeScript compatible
Add .gitignore
Apply trivial types
Add dummy types for major components
Enhance types for major components
Update README
Merge branch 'typescript'