Overhaul

TypeScript integration. Testing for all major browsers with Karma.