1. step to make propertywidget support custom tabs

Basics are there, the standard tabs are ported on the server side, and
half-way on the client side. Custom communication for the tabs id not
yet ported.
Completely modularize property controller & widget

With this commit everything SHOULD work flawlessly.
Some cosmetic changes.
Make custom property widget tabs work with plugins
Add Property controller extension for SG geometry.
Add Property controller extension for SG Materials

Currently only shows shaders, therefore the tab name currently is
"Shaders".
Let wireframe widget respect draw mode and indices

Now the code to render the wireframe is complete. Prior it always
used GL_TRIANGLE_STRIP and ignored indices instead of respecting
the values the QSGGeometry provides. Now the wireframe is rendered
according to the indicated draw mode under respect of indices.
Only load property widget tab if needed.

Prior the tab was always loaded. Now it is only loaded if the module
it belongs to is active, that means, if there is any chance that it
might get used at all.
Use the right define here.
QStringList arguments should be const references.

Has the convenient side-effect that the resulting moc-file also builds with
older moc versions that don't include the QStringList header in this case.
Fix compilation with various older Qt versions.
Use a signal that also exists in Qt4.
Compile with OpenGL ES2.
Avoid some void pointer arithmetic here.
Fix wrong pointer arithmetic.
Display vertex-data inline.
Compile with OpenGL ES2.
Silence some warnings and minor cleanups.
Use a Qt4 compatible signal.
Add missing copyright headers.