QmlDesigner.Instances: Move instances out of process
The complete qml emulation layer (instances) is moved into another external process (qmlpuppet). Summary of architectural changes: - Asynchronous messaging Handling commands and data transfer asynchronously reduces the amount of context switches between processes. - Proxy classes for client process This classes abstract the inter process communication - QVariant based command parsing and serialization Using LocalSocket in bidirectional manner for communications of commands and data transfer. - Integer based identifier instead of ModelNode in client process The qml emulation layer (instances) has no more depencies to our internal data model. - Timer based rendering Rendering in instances is controlled by a timer. Only dirty items are updated.