QParameter: send clone of QTexture values

Change-Id: I801538d013a5e80d557d699f61e0520e9c6457be
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QParameter: removed isTexture flag and perform check on QNode* values

Instead of checking only for QTexture*, we check for QNode*, this will allows
us to handle QShaderData values.

Change-Id: I0e016c5a8306cb3da6cef4be1275f5d1e13038e5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
playground-qml example cleaned up and simplified

This will be easier to test the QShaderData.

Change-Id: Ib3df6b105388295a164d7213e4db20d67294aee0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QKeyboardInput: few fixes

Note: a QKeyboardController cannot be declared inline in a QKeyboardInput, it
must explicitly be defined as an external element.
This is because a QKeyboardInput needs to know its controller when it is added
to the scene.

Change-Id: I65eb98158396ef086b89ce5a552244a421222ed1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QMaterial: check for null when setting the QEffect

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