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.
The more methods gem proposes to include into tests, the more is the chance that those methods may interfere with methods of other gems. For example currently:

* Capybara::DSL's `within` interferes with RSpec Expetations's `within` (https://github.com/jnicklas/capybara/issues/1361)
* Capybara's `attach_file` interferes with Allure-rspec's `attach_file` (https://github.com/allure-framework/allure-rspec/blob/0.5.2/lib/allure-rspec/dsl.rb#L21)

Therefore IMO it's better to choose only one method name (`on_page` vs `on`/`on_view` vs `on_page`) and don't alias it.

I would vote for removing `on_page` and `on_view`. I think `on` is better as it's shorter (and PR proposes to use it very often). And `on_visit` is better as it's similar to Capybara's `visit`.