Add new event properties

 * `isComposing`, defined in [DOM Level 3 Events](https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#widl-InputEvent-isComposing)
 * `code`, defined in [DOM Level 3 Events](https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#widl-KeyboardEvent-code)
 * `movementX` and `movementY`, used for [Pointer Lock](https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-MouseEvent-movementX)
 * `region`, used with [hit regions](https://html.spec.whatwg.org/multipage/scripting.html#dom-mouseevent-region) in canvases.

There's still a `path` property that's showing up in Chrome but I haven't been able to find where it is defined, so I'm not sure if it's to be ignored in event-object-tests.js.