Android Chromedriver caching

Keeps track of the Chromedriver existing for a particular webview, and reuses it if the session returns to it. All are destroyed at the end. 

I am unsure at the moment how to test this other than visually inspecting the log output.

As per #3191, and in concert with #3339.