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.
add in custom serialization of rendered objects

By default Nm (and this engine) do not serialize the rendered objects.
However, Deas expects serialized body content.  This allows for custom
serialization procs to be defined at registration time.