QNode clone nodes and don't automatically append child in ctor

If we call addChild in the constructor, this results in a pure virtual method
call as we haven't finished initialization and yet we're trying to perform
clone.
It is safer to remove that and force users to use appendChild to append children.

Change-Id: I30761063fb0af392c7054a72fd30e82601ccdf73
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Added NodeAdded NodeRemoved and NodeUpdated ChangeFlags

Change-Id: Ib625dcee707c9d305f36e7d78ba223491b0e6328
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Allow observers + scene observers to monitor NodeCreated/NodeDeleted

Change-Id: Ie8e2d662d7b2bd7ef4335bdb7fcc3eb54572448a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QAbstractEffect inline QNode properties added as children

Change-Id: I3de17bda5add6d0d2d53ec9405a9545914cc6616
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QAbstractMaterial effect added as a child if declared inline

Change-Id: I60c480b793743bbced0977f81a9bde603615f625
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QAbstractMesh send notifications if arbiter exists

Change-Id: I59ab86f7ee0d4b3a1456e7755a878501260f7eab
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QAbstractTechnique add renderpasses as children if declared inline

Change-Id: Ib41e9e57760632b8d743ae7ff9dcd7dae7fd6223
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QEntity clone component and send update only if arbiter exists

Change-Id: I1f5effacbfec639ca35429d8701825f9f3d0599a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QNode clone node on creation/removal

Also removed the storage of changes when no arbiter was set. This is no longer
needed as we create the whole scene on startup and with the cloning of subtrees,
when the scenegraph tree is updated, we can create a whole backend tree in the
backend.

Change-Id: Ie77fbef8f223fede5a276af6feaff2e1b0028a22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QCameraSelector adds camera entity has a child if declared inline

Change-Id: I80595e16848ea06c37209f75d8a6d6bea78bd1ed
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QFrameGraph adds activeFrameGraph as a child if declared inline

Change-Id: I8bf7890a1ad19f04a7d1f1a58ac8e401160a46ec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QLayerFilter notifies backend only if arbiter exists

Change-Id: I2335c70516e9d5027f21b244a1303e68024af3ff
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QRenderPassFilter criterion added as children if declared inline

Notifications only sent if arbiter exists.
Removed unused name property.

Change-Id: Ibf2fab0b3a1efc74e374c21797d0dbfd016057b4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QTechniqueFilter criterion added as child if declared inline

Change-Id: Ibb733ec6c4033a829cee4f43ce391d479b9d81e4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QViewport notifies backend only if arbiter exists

Change-Id: I3298852f3405f0cbfa25c2e0b8b56276e06b542a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QEffect parameter added as child if declared inline

Change-Id: Ib4c02a9c9801e3c4ff0f2cc8e14cccb41afe32ed
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QMaterial parameter added as child if declared inline

Change-Id: I1f9cd420412aade5e54e766a902912dd23ebd4d9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QOpenGLFilter openGLFilterChanged signal

Change-Id: I94311b752b042c3f11a305ae3b75acc99e5d1470
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QRenderPass criterion added as child if declared inline

Change-Id: I26243e23941ea3f512c0c4e83a2d973ba9e1d46a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QTechnique criterion added as child if declared inline

Also connect the OpenGLFilter openGLFilterChanged signal to a slot that
notifies the backend about the change with a clone of the OpenGLFilter.

Change-Id: I2b426892c36e2d1d7e192a1adf174c675a7b4408
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>