scene/item: add ItemEffect
Right now it's just a helper to mark items as being affected by some effect, to prevent direct scanout of the relevant item without needing to block direct scanout for the whole screen - basically to fix !6202 sometimes disabling blur for some items. It also removes the need to special case some effects to not block direct scanout like in !6086 (merged).
As a future plan for this, I think it should be extended so that effects can only change the rendering for a given window if they create an ItemEffect
. Effects that effectively add windows - like the overview or the fps effect - should insert an overlay item into the scene (and !6193 (merged) probably moved to be built into the renderer in some form, or special cased) and Effect::blocksDirectScanout
removed or at least set to false
by default.