Allow changing "read framebuffers" at runtime.

Fixes #6149.
Play it a bit safer on rendering mode changes.

This way funny things should be less likely.
Merge pull request #6154 from unknownbrackets/gpu-readpixels

Fix some rendering mode changes