QResourcesManager cleanup

If a resource managed by a QResourcesManager has declared a
Q_DECLARE_RESOURCE_INFO(Resource, Q_REQUIRES_CLEANUP);
in its header, a call to Resource->cleanup() will be performed when the
resource is released.

Note: Needs the next patch to compile

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

Components are indexed by their own uuid instead of by the Entity::uuid.
The backend tree is therefore smaller as we only have one RenderMesh per
Mesh instead of having a RenderMesh per RenderEntity.

RenderEntity also contains a set of templated helper method that can be used
by the RenderSceneBuilder or other classes that need to add a component to a
backend RenderEntity. Applying the same thing to RenderMaterial / RenderEffect
would provide a cleaner code.

Change-Id: I36cf76ed717fa58275c66cc20d1e7732579c35fa
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderEffect referenced by Effect Uuid

Change-Id: I52e85c3541eb255dec5389a49b10c7098d98a41d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Added RenderCriterion class

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

Change-Id: I6373456e8db7df97ab2f46cd9c6995da69e90c86
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Renderer contains a TechniqueCriterionManager

Change-Id: Ic3d4e23370b7286f82e3807714b962e00d71796d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderTechnique creating RenderCriterion from QTechniqueCriterion

Note: Wont compile on its own
Commit: 1 / 5

Change-Id: Ic7835ec725d716a612ed9cdf390f378d7c5b4a33
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderEffect creates RenderTechnique from QTechnique

RenderTechnique are also indexed using the QTechnique's uuid from now on

Note: Won't compile on its own
Commit: 2 / 5

Change-Id: I0da3f2d991e3fadaa71d5426e08b67357e9b51ee
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QTechniqueCriterion subclass of QNode instead of QObject

Note: Won't compile on its own
Commit: 3 / 5

Change-Id: I0e77715c89c11dabb2ff02fdc5f9d609a077d9a1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
TechniqueFilterNode : RenderCriterion to monitor QTechniqueCriterion

Note: Won't compile on its own
Commit: 4 / 5

Change-Id: I214d0ea2c3c7d9c94724b3d9be0daaeda8d97b83
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderView using RenderTechnique/RenderCriterion

Note: Should compile fine
Commit: 5 / 5

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