pass the template source as a default option to the engines

This allows the engines to make template helpers that can call
template source render API methods.  This allows rendering one
engine's partials from another engine's template.  This will also
be used to render partials that have multiple engine extensions.

Closes #153.