Custom page factory for "on-demand" browser

Implemented a custom page factory class that instantiates a browser
instance (unless already defined) before delegating to the PageObject
page factory.

Change-Id: Icb6653a61cdf05b140fed0503ee60c9f8d7f0223