Render overhaul. Layouts, Extensions, FuncMaps, Options!! Oh the Options!!!!!

Hey guys, please pull this down if you can and play with it. I would love feedback on this branch.

This introduces some really awesome features for the `render` package. see the readme for details.

This does break the current render package, as the `render.Renderer()` no longer takes a string as an arg, but (optional) options instead.

closes #47 
closes #39 
closes #12 
closes #26