Use QObject::d_ptr for public API classes

This follows the model used by the rest of Qt, potentially
avoiding binary compatibility issues.

The compromise is that we now depend on core-private, thus
forcing us to follow Qt's release cycle.

Change-Id: Ib2df51071fc35935ac99edf7b9c5562949cb43e2
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Import QtWebKit public headers.

This is the first step toward re-implementing part of the QWebView
API on top of QtWebEngine. The plan is to import the complete headers
to facilitate diffs and progress tracking.

Changes squashed in this commit:
- Use the QWebEngine prefix for class names
- Strip out non-public members and directives
- Allow building using those headers by disabling the Q_PROPERTY
  macros and by adding a dummy implementation for virtual methods
  directly in the header
- Update the widgetsnanobrowser example to comply with the slight
  changes from the previous API

Change-Id: Ia7efa5430f775d09b493544430a04856cc7928f6
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Merge QWebEngineFrame into QWebEnginePage.

Chromium doesn't allow managing sub-frames from the contents API.
To support operations that were made on the main frame, merge the frame
API into the page. Methods should be later either be removed or
implemented one by one.

Change-Id: I52de89a48c00efb9dd0cf0a2c1fdf09d735d2381
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Move the WebContentsAdapter to QWebEnginePage.

To allow QWebEnginePage to act on its own, let it own the WebContentsAdapter
and let the view delegate its calls through the page.

Change-Id: I851c753d068992e387edab0e1ea8018732af1fd7
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Implement QWebEngineView::title and QWebEnginePage::title.

Change-Id: I9fb191a5a2351c5c953f640a6cf1a33609385cc9
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Implement QWebEngineView/Page::url/setUrl.

Change-Id: I8b188fb1c6167612307d4db3272f5ae6f85705c7
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>