template engine

This adds a base class for defining template engines.  This will be
used to replace sinatra/tilt for template rendering.  Now 3rd-party
gems will define their own template engines for rendering their
template language in Deas.

The goal here is to remove relying on Sinatra and not have the
overhead of Tilt.  This is the same design used in Sanford's template
rendering scheme.