Draft: scripting: Introduce VirtualDesktopModel
This can be useful for QML scripts that deal with virtual desktops.
The virtual desktop model keeps a copy of virtual desktop objects to avoid hitting asserts in QAbstractItemModel (it has some asserts to ensure that indices passed to beginInsertRows() or beginRemoveRows() make sense).
Edited by Vlad Zahorodnii