Adding timeouts configuration

Change the timeout setting by:
$driver->manage()->timeouts()
  ->implicitlyWait(3)
  ->setScriptTimeout(5);
license header in WebDriverTimeouts and WebDriverOptions
Add the contributing section and the CLA link to README.md
Adding window management.

Example:
$size = $driver->window()->getSize();

$driver->window()->setPosition(10, 20)->setSize(400,400);

$driver->window()->maximize();
Adding cookie management

Summary:
To add a cookie:
$driver->manage()->addCookie(array(
  'name' => 'cookie_name',
  'value' => 'cookie_value',
));

To get all cookies visible:
$cookies = $driver->manage()->getCookies();

To get a specific cookie:
$cookie = $driver->manage()->getCookieNamed('cookie_name');
Thing to know when contributing
Return self class
Merge pull request #63 from jsifalda/syntax

Better syntax support
Fix annotation
Merge pull request #64 from jsifalda/fixtures

Fix annotation
adding command 'getSession'
Point and Dimension
- adding WebDriverPoint, WebDriverDimension
- WebDriverElements are able to get their location and size via
  getLocation() and getSize()
Moving around windows, frames and iframes

// To get the current window handle:
$handle = $driver->getWindlowHandle();

// To get all available window handles:
$handles = $driver->getWindowHandles();

// To switch to another window:
$driver->switchTo()->window($handle);

// To close the current window:
$driver->close();

// To switch to another frame:
$driver->switchTo()->frame($name_or_id_of_the_frame);

// To switch back to the top frame:
$driver->switchTo()->defaultContent();
remove the last '/' of $url
add screenshot feature.

$screenshot = $driver->takeScreenshot($save_as);

$driver->takeScreenshot() return the png image.
If you want to save the screenshot to somewhere, pass the path of as
$save_as. If $save_as is null, then it won't be save.
refactor and simplify

It is bad to rewrite execute() and pass the $session_id and $executor
everytime when constructing a new WebDriver class. It increases the
friction when building the api. This diff does not break the interface
of all methods. Just Simplify the constructor and reuse the execute().

Changes:
- remove execute() in each WebDriverXXXX
- use $driver to construct WebDriverXXXX
add 'sendFile' to WebDriverCommandExecutor

This is a secret command... not yet included in the offical document.
Also reorder the commands.
Packagist support