Fix issue with Firefox old DOM bindings

The old Firefox DOM bindings (still in use for some interfaces) lazily creates
the constructor, and if we have overridden the constructor of one of the super
interfaces we get into a state where the DOM element has both wrapper and non
wrapper constructors on its prototype chain.

This also overrides a list of known HTML element constructors.
Add support for event constructors

Currently these are implemented:

new Event
new CustomEvent
new UIEvent
new MouseEvent
new FocusEvent

Adding new ones should be easy but we should have the generated event wrappers
generate these.

One issue here is that IE10 does not support event constructors. I'll file a bug
about polyfilling those as needed.
Merge pull request #56 from arv/fix-firefox

Fix issue with Firefox old DOM bindings
Merge pull request #57 from arv/event-constructors

Event constructors