Update for Capybara 2.3.0

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
We set the parent here so that only the first window in the stack had to be deleted in `removePage`. I believe this was the solution to a segmentation fault we were experiencing at some point. I think we may have iterated over the window stack at one point but I don't remember if that was the cause of any issues.