Add support for different WebDriver servers

This patch provides support for the Selenium and chromedriver
WebDriver servers in the browsers.webdriver package.  These can be
used interchangeably.

It makes browser.chrome.ChromeBrowser an abstract representation
of the browser binary as it's no longer controlled directly by
wptrunner.  This isn't ideal.

However, this means the browser binary passed in to the program via
the --binary flag can be pointed to the Chrome binary.  Previously
you had to provide the chromedriver executable.

The chromedriver executable is now picked up from PATH.  This is a
_breaking change_.