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.
Fix auto selecting of items/nodes.

This fixes a bug causing the selection of a node, which auto-selects
an item, to cause the selection of another node.
Add Property controller extension for SG Materials

Currently only shows shaders, therefore the tab name currently is
"Shaders".
Remove 2 unneeded and bad asserts.

One was just completely unneeded and one was a performance-killer
(double-checking performance optimized code using slow code) plus
unneeded.

Actually both just were there for debugging while the code was yet
work in progress.
Show element ids in QQuickItem tree.
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.