QQmlCustomParser for Shader properties

ShaderPropertyParser subclasses QQmlCustomParser. It allows to register Quick3DEffect
using qRegisterCustomType so that properties that are not parsed by the standard Qml
Engine can be parsed using the ShaderPropertyParser.

ShaderPropertyParser does nothing at the moment but show the type and name of
the properties. It will be completed later on when the declaration Uniforms
property from QML is determined.

Also Quick3DMaterial and Technique could be registered as CustomType using
ShaderPropertyParser as well so that we can define uniforms in Effect,
Material and Technique, Material overriding Technique and Technique overriding Effect.

Change-Id: I70d7b9a6112b929a71a814aaa44646881e78972f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Settings RenderTechnique in RenderView

RenderShader are indexed by ShaderProgram Uuid.
Using the TechniqueFilters and RenderPassFilters, RenderView can now check if
the assigned Material has correct properties for Effect, Technique, RenderPass
and ShaderProgram.
For each of those but RenderPass, it builds a RenderEffect, RenderTechnique
and a RenderShader.
What is still to be determined is how and where uniforms have to be set. What
could be interesting would be to do that in RenderViewJobs and fill a
QUniformPack. That way, the Renderer could apply the uniforms later on during
submission without having to check the Material / Technique / Effect. Also it
would allow to sort RenderCommand instances according to the
QUniformPack. That would require setting the default material / technique
/ effect in the RenderViewJob rather than Renderer in case those set are not
valid.

Change-Id: Ie9e0cb7ef94e8bd64c503d26f3a327de23bede76
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Initialize m_matrixDirty in LookAtTransform

Solves Valgrind error

Change-Id: I542ee3832aeaa24b3f1d03eb3c5f752abd959a26
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Moved RenderView Constructor definition to .cpp

Change-Id: Iefd727570073f93a39e0a9a4e130334d3703def5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
AbstractAspect : initialized m_root to Q_NULLPTR

Change-Id: I4b61a26c656bf3197d413dceb46eff95654b0d3d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RotateTransform : initialized m_angledDeg to 0

Change-Id: I022ee74321420ca7aaf7ba3b9fd5d8275efa5c8a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderMaterial : initialized m_peer to Q_NULLPTR

Change-Id: I40497543a7f931496de2ce5a44ae250b26055258
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
AssimpParser : buffer allocation fix.

Avoids allocating two buffers when one is enough.

Change-Id: I751191af922243725dac772574b27d39bf8a9bcf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderNode : dtor frees bounding volumes

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