Implement Node#hover

Capybara 2.1 introduces Node#hover, which allows testing hover-dependent features.

Note: Our behavior differs from selenium webdriver in that we click in the middle of the first client rectangle instead of the center of the bounding client rectangle. Tests included in the driver spec demonstrate why this is needed.