[sailfish-browser] Cleanup browser startup sequence

DeclarativeWebPage is changed so that it triggers initial load
when the view is ready given that an initial url is given.

There is no need anymore to activate pages from QML. Instead there is
reload(force) that can be used to reload the current active tab.
Reloading from user interface in considered forceful. Switching a tab
does not cause reload if the page is already alive. Reload internally
resurrects a web page and loads of the initial url.

Initial url is resolved similarly as it was previously. The moment
when loading can be started requires that MozContext is ready,
tab model is loaded, and WebView itself reaches completed state.
WebView changes to completed once MozContext is ready, TabModel is
loaded, QML component is completed, and all initialization steps
have been done (differs from Component::onCompleted). Initialization
includes possible cleaning of the privacy related data.

Affected use cases:
- Starting browser with an url
- Starting browser with an url without tabs from the previous
  browsing session
- Url starting downloading so that no tabs available or with tabs
- Cleaning privacy data from settings and browser running or
  browser started after cleanup. When the browser launched after
  privacy data cleanup and launched with an incoming url or
  from the application grid
- Requesting a new window from html (see testwindowopen.html test)
Improve switching to the "fullscreenOverlay" state

- Bring browser to foreground from openUrlRequested after
  loading has started
- When a new tab selected from the cover, don't switch
  state multiple times
- Connect to tab model count and raise overlay when
  tab count goes to zero and webview completed
Improve loading and loadProgress updates

- When a page is changed emit always the loading changed and update
  loadingProgess from the new page
- When all tabs are closed, loadProgress is set 0 and loading is false