Render interface

This new function is called by `render.HTML`, `render.JSON`, `render.XML`, and `render.Data`. It will also be called by custom Engines, in place of the above listed functions.