Renderers now return HtmlElement where applicable

This will allow others to easily extend the renderers and customize the final HTML
Rename the arbitrary data storage variable to reduce confusion about its purpose
Fix incorrect docblock
Unit tests for HtmlElement
Merge pull request #34 from thephpleague/html-element

Renderers now return HtmlElement where applicable