templates: engine logger, template source api to set

This allows all engines to access the source's logger (if any).  This
is so engines have the option of making this logger accessible in
templates.

This lines up with how Deas passes its logger to its templates.

Note: this also adds the `engine_for?` method to query if an engine
has been configured for a given extension.  This is to be consistent
with Deas' api.