Splitting HTMLDocument from Document

* getElementById() returns Element, not HTMLElement
* Reorder and regroup attributes for legibility
* Deprecate non-working or outdated attributes