DesiredCapabilities + WebDriverPlatform

Make desired capabilities object-oriented. To start a RemoteWebDriver
instance, we can use pre-defineded DesiredCapabilities instead of
constructing an array everytime.

For example, to start Chrome.
```
$driver = RemoteWebDriver::create($url, DesiredCapabilities::chrome());
```
Update README.md

Migrate to DesiredCapabilities.
Fix phpdoc comments for FileDetector.
Fix phpdoc comments for RemoteWebDriver.
Fix phpdoc comments for HttpCommandExecutor.
Fix phpdoc comments for RemoteKeyboard.
Fix phpdoc comments for RemoteMouse.
Fix phpdoc comments for RemoteTouchScreen.
Fix phpdoc comments for RemoteWebElement.
ChromeOptions - setBinary, addExtensions
typo extension vs extensions
phpdoc for ChromeOptions
allow empty chrome options
Merge branch 'develop' of github.com:komex/php-webdriver into komex-develop
merge
ChromeOptions: setExperimentalOptions, addArguments

Start Chrome with arguments.

Example,
```
$options = new ChromeOptions();
$options->addArguments(array('--window-size=300,900'));
$caps = DesiredCapabilities::chrome();
$caps->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($url, $caps);
```
DriverCommand
Update README.md
Standardize WebDriver Response
fix