Fix authentication time outs.

If the incorrect credentials are provided QNetworkAccessManager just keeps
firing the same signal and it gets stuck in a infinite loop. This change only
sets the user name and password if they are different to the current user
name and password, causing the event to not be continuously triggered after
failed authentications.
Don't start queued commands more than once

TimeoutCommand may receive pageFinished multiple times before
PageLoadingCommand has finished.
Wrap Ruby code in inline code block
Ignore custom fonts applied to pseudo elements

WebPage::setUserStylesheet prevents Web Fonts from loading when styles
are applied directly to elements, however if the styles are applied to
pseudo elements, the override does not apply. This leads to crashes on
Mac OS X, likely due to https://bugs.webkit.org/show_bug.cgi?id=61031.
Extract JSON serializer
Serialize window handles using JsonSerializer
Serialize console messsages using JsonSerializer
Escape control characters in JSON strings
JsonSerializer returns QByteArray

JSON supports UTF-16, however the serializer is 8-bit clean.  Instead of
returning a QString only to turn it back into a QByteArray, return a
QByteArray on serialization.
Infinity returns null when serialized

From RFC4627:

  Numeric values that cannot be represented as sequences of digits (such
  as Infinity and NaN) are not permitted.

NaN is invalid, so we already return null.
Support multi-line confirmation messages
Support multi-line alert messages
Support multi-line prompt messages
Bump Capybara dependency to 2.0.2

Required for Capybara::SpecHelper.configure.
Replace Capybara::TimeoutError with Timeout::Error

Capybara::TimeoutError has been removed.
Bump to 0.14.0
Update copyright year to 2013
Rescue from Errno::ESRCH in the exit hook in case webkit_server has already ended.
Remove font override for first-letter and first-line
Restore viewport dimensions after rendering screenshots

Fixes #388.