PageObject customization for custom Locators

This is proposition to improve PageObject constructors in a way:
- allow to customize PageObject customization for different Element Locators.
- nesting constructors, for fewer code.

Case for this:
https://github.com/yandex-qatools/htmlelements
Requires similar to:
```java
public abstract class PageObjectEx extends PageObject{
  public PageObjectEx(final WebDriver driver) {
      super(driver,new Predicate<PageObject>() {
          public boolean apply(PageObject page) {
              HtmlElementLoader.populatePageObject(page, driver);
              return true;
          }
      });
  }
}
```

Without this WebElement proxies will be created at least twice.