Quick3DEffect extension of Effect/QAbstractEffect

This raises an interesting issue as there is no way to register and extended
type along with a custom qml parser using the QML public API (it seems
possible privately).

Change-Id: I5bf9a43ccd989e954e9393d9a97b90fb33de71dc
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderTargetSelector Quick3D extension

Change-Id: Id55e288d4682cd5a46e972a29d0df06ee0d5d050
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Camera position correction in simple-qml

Change-Id: I81f55956fd4d45ff39aff24f9aad4e545607c2f6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Quick3DMaterial extension of Material

Note: Tags will be replaced by Parameters correctly exposed in a follow-up
commit

Change-Id: I472e0724e652fb26634f37b158941141728359a8
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Quick3DTechnique extension of Technique

Few corrections made here and there. simple-qml examples updated to use and
empty. This actually breaks rendering but should be considered correct
behavior as a technique without shader or renderpass is not valid.

Change-Id: If5ff21b0fb3080c52bef8ec7985ef97f87888264
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
TechniqueFilter monitors frontent TechniqueFilter

When TechniqueCriteria are updated on the frontent TechniqueFilter, the
backend TechniqueFilter is notified through the QChangeArbiter of those
changes.
This allows the Rendering to rely on backend TechniqueFilter for referencing
TechniqueCriteria valid for the current frame without needing access to the
frontend Entity which could dangerous.

Change-Id: Id4892762934c340ec080c3fc96c02c385eff3116
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Quick3DRenderPassFilter QObject subclass instead of Quick3DNode

Change-Id: Ibdbe14ba9a9673d1fdf2e660ea04e814aea61b44
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Quick3DViewport subclass of QObject instead of Quick3DNode

Change-Id: I2a21281c05acaddf413e7ecfed416418a528b977
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Upgrade to Assimp 3.1

https://github.com/assimp/assimp/releases/tag/v3.1

This commit imports assimp 3.1, including CHANGES, CREDITS, LICENSE, README,
Readme.md, revision.h and code, contrib, include directories. contrib/zlib
was excluded.
assimp.pri was also updated.
Uses zlib from system or qt instead of contrib/zlib.

Task-number: QTBUG-39251
Change-Id: Ia0b446dcd9bc867d65897b9e2b157f6544ccaeac
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>