add engine option for specifying a custom eruby

By default, `::Erubis::Eruby` will be used to render the templates.
However, erubis supports many alternate erubys and even erubys with
custom enhancers.  This allows you to build/specify a custom eruby
and use it in the engine.

@jcredding ready for review.