adds some OOP sanity to HTML, keeps simple API

WIP

cleanup

apparently there was lots of scoffing at my lack of white space
adds Element::render()
DB cleanup
lots of doc fixes
updates .gitignore