Begin refactoring away from an instance of precompiler per template engine to a collection of stream-based modules that can deal with any engine. End goal is to allow a module of precompiled templates to contain a mixture of micro and handlebars etc.

This commit just contains the first module for reading in the template files.