MouseEvent cleanup... as best as possible.

No longer `emit` "public" mouse events (they come through with an underscore at the start of their name, e.g. `_click`). After receiving these internal mouse events from the SWF, we dispatch a synthetic `MouseEvent` in the JavaScript with the DOM Event model so that normal mouse handlers can work as expected.

Fixes #212.
Fixes #129.

Closes #214.
Closes #81.

Related to #244. Doesn't necessarily fix/close it... needs confirmation.
Related to #369. Doesn't necessarily fix/close it... needs confirmation.