now supports addEventListener w/ EventListener interface

Also fixed a bug with cancelBubble being used as if it was a method when it is actually a boolean.

https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener says:

> The object that receives a notification when an event of the specified type occurs. This must be an object implementing the EventListener interface, or simply a JavaScript function.

EventShim only supported using functions as the listener. This pull request fixes that so that you can now use objects with handleEvent functions too.