Turns Response into a QObject and sets parent to the
command that emits it.
Each Command is also a child of the decorator commands,
Timeout and PageLoading commnds, so that deleting the
top level command will delete all the children.
See discussion in #430.
JavaScipt actions and other asynchronous events which cause a WebPage
load may not be processed by the time we receive an incoming command.
Ensure that these events get processed before checking if the page is
loading by calling QApplication::processEvents().
Fixes spurious failures throughout the test suite.
Timeouts can be set using browser.timeout = <seconds>.
When a command or page load takes longer the specified
timeout a Capybara::TimeoutError will be raised. Calls
to reset! will reset the timeout. You can also clear
the timeout by setting it to -1.
The timeout is implemented as a Command decorator.