Add support for document.addEventListener

This also fixes an issue where removeEventListener left a wrapped listener.
Merge pull request #44 from arv/document-add-event-listener

Add support for document.addEventListener