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
It looks like `QDesktopWidget` is pulled in by something we're using in Qt 5, but is not for Qt 4. Adding `#include <QDesktopWidget>` fixed this for me.

We should discuss our plan for Qt 4 support going forward, as I presume it's going to get more and more difficult to support both versions. Also, Qt 5 on Mac supports web fonts without segfaults, so we would be able to enable those again.