Mixin trait for convenient DOM manipulation in browser
Separate Document and HTMLDocument classes

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