Reduce resets in DebugConsole when viewing subsurfaces
subsurfaceTreeChanged is emitted on every damage event. This makes it very noisy and the model constantly resets. This makes it impossible to expand the tree (as it resets immediately after). SubSurfaceMonitor gives us more granular signals whilst handling the recursive aspect. Also there are no unmanaged windows that are wayland surfaces, so they are simplified.