effects/slide: Ensure that there's only one visibility ref per window
If a window is added and then the current virtual desktop changes, we can encounter the following situation: * desktopChanged signal is emitted, and the slide effect starts animation. SlideEffect::prepareSwitching() will setup windows; note that the new window may be present in effects->stackingOrder() * windowAdded signal is emitted, and slide effect tries to ref the window again In order to ensure that there's only one reference, maintain visibility refs in a hashtable. BUG: 455237