first pass template engine implementation and tests

This implements the template engine.  The `render` and `partial`
methods are implemented; the `capture_partial` method is not b/c
capturing content for rendering does not apply to Nm templates.

This implementationa and the tests were modeled after sanford-nm.
There is still one more step needed and that is to design specifying
serializers.  For Deas, we actually need to serialize the objects
Nm returns (where Sanford didn't need this).  This will be done in
a coming PR.