This adds support for the full Capybara 2.3.0 API. There are two known
incompatibilities:
* Selenium supports outerWidth and outerHeight, which we cannot, because we
dont' have an actual OS window.
* Selenium raises errors after interacting with a closed window. We focus the
next available window after closing.
This commit adds the following:
* Implement Driver#close_window
* Implement Driver#current_window_handle
* Implement Driver#maximize_window
* Implement Driver#open_new_window
* Implement Driver#no_such_window_error
* Implement Driver#resize_window_to
* Implement Driver#switch_to_window
* Implement Driver#window_size
* Implement Driver#go_back
* Implement Driver#go_forward
* Support change events when clearing a text input
* Support setting contentEditable elements
* Support window.close() in JavaScript
* Don't return text from hidden elements
* Skip Capybara specs which use outerWidth, outerHeight
* Don't use Qt object ownership to manage windows
Allow users to resize the webkit viewport via
Capybara::Driver::Webkit#resize_window(width, height).
This can be called before or after page load, and fires resize events as expected.