Enable passing of locals within templates

The #render call is not immediate within the context, it's "object resolution" then "render" so to pass params to a render requires explicit use of #render i.e. ${ image.large.render(width: 54) } not ${ image.large(width: 54) }

To avoid this wrap the context targets in a Renderable object that provides a persistent wrapping of all objects that respond to #render and persists the parameters from the template into the subsequent #render call.
Check for ability to clear fields
Test for existence of prototype before checking for :attachment setting
Use new :richtext field type
Fix whitespace & re-order quotes to help editor
Clean up & document the Renderable class