Overhauls render() for clarity and support for optional escaping

E.g. {name} or {r:name} are not escaped, but {e:name} is HTML escaped. Organization makes it trivial to add different models of escaping or change the default.

FWIW I would probably suggest changing the default to HTML escaped and having users use {r:key} to bypass escaping.

Whitespace does not match the project, but if you like the idea I'll fix that.