Remove dead code in QSGRenderer

QSGRenderer::draw, QSGRenderer::setProjectionMatrixToDeviceRect
and the QSGBindableFbo class aren't used anywhere anymore.

Change-Id: Ia00c60c288e1b89beaada6b2bbe7022ef9367391
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Move QSGRenderer::updateStencilClip down to QSGBatchRenderer

This convenience method is currently only used by the batch renderer.
Moving it allows removing the QOpenGLFunction inheritance of
QSGRenderer and unbinding it slightly from the rendering implementation.

Change-Id: I4322952f843de8d950ced32885feee8d6c4a2730
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Introducing QQuickWindow::scheduleRenderJob()

[ChangeLog][QtQuick][QQuickWindow] Added
QQuickWindow::scheduleRenderJob(), a convenience alternative to the
equivalent signals for one-shot tasks.

Change-Id: I5e4f0d67d5223f7fd77bca394e2a85810fadd335
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Invalidate the scenegraph properly in the rendercontrol's stop()

Taking the persistent flags from the QQuickWindow was a bad idea. These
are not applicable to the case when an application drives the scene via
QQuickRenderControl. Once stop() is called, all resources must be
released since the context itself will typically be destroyed afterwards.

Task-number: QTBUG-40435
Change-Id: Iaa3b950e60ec36783a12074d706e1a501573f110
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>