Implement modal (accept, dismiss and alert) API

* Retain backwards compatibility with legacy capybara-webkit API.
* Confirm dialogs are accepted by default; dialogs are dismissed.
* Legacy API usage will override the default action, and may cause
  undesired behavior if mixed and matched with the new API.
Add Capybara 2.4 to Appraisals
Travis config for Capybara 2.4
Don't interact with readonly elements

* This behavior changed in Capybara 2.4.
* Previously we would focus and send keypress events to readonly
  elements. Now readonly elements are ignored, and a warning is emitted
  by Capybara.
TODO for Capybara 2.4 compatibility

[ci skip]
Add deprecation warnings to legacy modal methods

* Our legacy API has been replaced by an upstream API in Capybara 2.4.
Stub Capybara::ModalNotFound for Capybara < 2.4

* The modal API was introduced in Capybara 2.4, so older versions won't
  follow this code path.
Add deprecation warnings to legacy window methods

* Capybara 2.3 provides a new window API.