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
Use deleteLater to avoid possible null pointer crashes
Make sure to include QDesktopWidget
Update Appraisals
Update Travis builds

* Test Capybara 2.2 and 2.3 compatibility on all platforms.
* Drop support for Capybara 2.0.
* Only test Qt 5 on 1.9.3. The C implementation is the same for all Ruby
  versions, so there's no need to test against all platforms.
Simplify shutdown logic for Connection

* Use a QSocketNotifier listening to stdin to determine when the parent
  process has detached.