Factory pattern added for using page objects.

The idea here is to provide a mechanism that instantiates page objects by using a simple factory approach. The idea for this is to allow code to take on a very common structure, making it easy to review and easy to build automatic checkers for. This approach is also nice for indicating workflows in a browser application.

There are two factory methods: on_view() and on().

The on_view() factory simply creates the page instance and uses the load() method to bring that page up in the browser. The on() factory creates the page instance but does not need to bring up the page in the browser since it's assumed the relevant page is already in view.
@natritmeyer @jnyman @abotalov 

I should add that I've had great success previously using BDD for web testing where the page object model had enough baked-in intelligence to be able to write tests to the effect of:

```
   Scenario: Log in as a valid user
      Given I go to the Login Page
      And I have entered "john.doe@example.net" in the "Username Field"
      And I have entered "password" in the "Password Field"
      When I click the "Login Button"
      Then I should see the User Dashboard Page
```

Once you have a persisted Driver Context (the first given step), you can perform actions on elements within the current page using simple step definitions which rely on that context.