Add the ability to share the same phantomjs process with multiple Phanto...

...mJSDriver

Currently we can't use the same phantomjs process with multiple PhantomJSDriver. Either
we use the RemoteDriver class directly but then we lose the ability to execute PhantomJS
scripts, or we use the PhantomJSDriver and we get a process per driver.

This commit adds a different HttpCommandExecutor subclass which defers the management
of the lifecyle of the PhantomJSService to a higher level, allowing to share the
same service by multiple drivers.