Turns the user supplied context into the shape the renderer expects.
Keys are stringified and nested hashes and lists are transformed
recursively. A key of the form "type:name" builds a typed content value
for name, so "html:body" => "<p>..</p>" is the same as
body: Sablon.content(:html, "<p>..</p>").