compositor: Handle shell windows role with surface window properties

Move all the code that decides how to stack shell windows to QML.