Add empty stub for an aggregated property model and integrate it.

Doesn't show anything yet apart from the right row count. This will
eventually replace the static, dynamic and non-QObject property views
with a single aggregated view.
Add index mapping and implement data().
Implement flags() and headerData().
Implement setData() and dataChanged().

That's basically it, since we currently don't support adding/deleting
dynamic properties the missing row change signal handling isn't really
a problem yet.
Make sure all property source models have the same column count.
Add basic UI for adding new dynamic properties.
Add a wrapper to defer variant unpacking when invoking remote methods.

So far you couldn't call methods on the server that take a QVariant as
argument since MethodArgument did try to unpack it to its content, and
then of course no method with a matching signature is found.
Send new dynamic properties to the server and set them on the object.
Allow to query what types we have an editor widget for.
Add a model for all types we can edit.
Integrate the editable types model for adding new dynamic properties.
Distinguish an existing but invalid argument from a non-existing one.

Without this we couldn't call setProperty() with an invalid QVariant as
second argument as it would be looking for a method with just one QString
argument.
Add context menu to remove a dynamic property.

This still needs a check if the property can actually be removed.
Implement itemData() so the source models can provide custom roles.
Better tooltips for static properties.
Allow the models to specify available actions on properties.

Use this to prevent property deletion on anything but dynamic properties.
Add context menu action for resetting a property.
Move static property monitoring code to the static property model.
Remove non-aggregated property tabs.
Only update the cells that actually changed, rather than everything.

This is especially useful when observing QtQuick items (which tend to have
many fast changing properties).