Add basic unit tests to package

Along with some minor bug fixes, this PR adds some basic integration and unit tests to the package which should make it easier to iterate without breaking things. Tests can be run via `npm test` from the project root. Also, templateManager has been abstracted so that it is only responsible for receiving a string of pre-compiled source with a processing engine type and returning the rendered result.