Renderers now return HtmlElement where applicable

This will allow others to easily extend the renderers and customize the final HTML

Addresses #32