set render template opts so that they can be easily overridden

The previous implmentation made it more difficult to override with
custom opt values.  Specifically, the `:layout` opts was set using
`||=` so if you wanted to manually set it to `false` you couldn't.

This is all prep for reworking how rendering works and moving away
from Sinatra.

@jcredding another issue that came up porting an app - ready for review.