contrast: Improve performance
glCopyTexSubImage2D is super slow on Intel GPUs on wayland.
We have an existing method to read from the framebuffer that is used in the blur and other effects.
Rather than creating a scratch framebuffer every frame we keep a cache per window for the lifespan of the effect.