Documents things as methods.
Removes old JS files.
Initial rewrite in TypeScript.
Adds makefile.