wayland: Port DebugConsole away from SubSurfaceMonitor
SubSurfaceMonitor was created with a goal to avoid re-computing the window geometry when the sub-surface tree changes. However, over the time, its usage spreaded beyond XdgSurfaceClient.
At one point, the scene was using the SubSurfaceMonitor helper and it showed that it is not a good abstraction. In case of the scene, letting surface items monitor sub-surface tree changes is a much better idea. Unfortunately, the SubSurfaceMonitor helper only hides unfortunate design decisions.
Since the effective window geometry should not change dynamically [1], we don't need to monitor sub-surface trees in XdgSurfaceClient.
Given that, as the first step towards removal of the SubSurfaceMonitor class, this change makes the debug console monitor sub-surface trees manually.
[1] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/54