Centralize OpenGL initialization

We now require the user to use QWebEngine::initialize() in main (preferably) and
print out an error message if this wasn't set up accordingly. This limits the use
of private scene graph API to inside QWebEngine and offers public API for users
of the API.

Change-Id: I787c176a85ab7784dbc8787d9876960b4872959e
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Easily enable proprietary codecs

While we can't ship this by default in our binary packages in the future,
it would be nice for users who can afford it to easily build with support
for h264 among others.

And for our private use, that means we can now watch videos from Vimeo.

This simply requires passing WEBENGINE_CONFIG+=proprietary_codecs to qmake
when building.

Change-Id: Ib2274a7cfd053aaa3d38ac18e360310691e11534
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Prevent an embarassing crash

if people do something as nasty as "return this;" in createWindow.

Change-Id: Id9c3e22607e4676b7ea286a6f85816b347262615
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>