Document :template_block option to render/view

Some template engines such as haml need to pass an explicit block,
and this allows them to do so. Since this is now documented,
handle caching correctly in the case where :template_block is
used.