feat(webdriver): update to WebDriverJS 2.43.5

Breaking Changes
WebDriverJS has introduced changes in the way that Promises are handled in version
2.43. See https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/CHANGES.md
 - `webdriver.WebElement` has now been split into `webdriver.WebElementPromise`
   and `webdriver.WebElement` so that it does not resolve to itself. This change
   should be largely transparent to users.
 - `WebElement.toWireValue` has been removed.
feat(webdriver): bump WebDriver to version 2.43
chore(ci): update to the latest 2 browsers for CI testing
chore(frameworks): update the version of mocha

Now mocha 1.21 is passing with fixes from WebDriverJS

Closes #1109
docs(tutorial): fixed typo
chore(website): make code tags non-bindable

closes #1342
chore(website): Fix broken link.
feat(runner): Allow onCleanup to accept a file
chore(release): version bump and changelog for 1.3.0.