Updated how empty nodes are formatted

Fixed the formatting of empty nodes so that something like a br tag is
output as "<br />" instead of "<br></br>"
Added prototype method to Element

Added a prototype method to the Element object so that innerXHTML can be
called directly element objects like myDiv.innerXHTML() or
myDiv.innerXHTML('hello')