GRIM: Implement a dim shader

The code doesn't really make much sense as nothing happens in dimScreen, because copyStoredToDisplay does the rendering. I think for GRIM all we need is this simple case.

It might make sense to render to a framebuffer instead of the screen and use that instead of loading the pixels manually.