merge addEventListener, add Element.contains
attach methods to HTMLDocument.prototype instead of document