IE 8 improvements

* added isHTMLElement for testing for a HTML element.
* tests no longer use 'instanceof Element' for checking if a HTML
element.
* added shims for: String.trim, String.trimLeft, String.trimRight,
addEventListener, removeEventListener, getElementsByClassName, and
textContent.
* more IE 8 bug fixes. : (