Split files out into smaller files and added build scripts to perform typescript compile to JS for issue #16, closes #11