Added basic structure for dom/events

Adds the following methods to DOM.Core:
 - on
 - off
 - trigger
Fix broken Phantom.js test and add test for EventListener interface
Replace directly-bound listeners with a proxy version

This sets up for allowing delegated event listeners to directly modify
the `target` attribute, preserves and normalizes `defaultPrevented` on
the source event, and allows for custom events to set the event type
should the need arise to alias events.