Better mouse events

I hit a problem recently with some JavaScript that relied on the co-ordinates of mouse events. It was difficult to test with capybara-webkit because it was sending either `0` or `undefined` depending on the origin of the event.

With this PR:

* `trigger` creates mouse events when passed `click`, `mousedown`, etc.
* Mouse events all contain co-ordinates.