Flush draws before doing any block transfers.

Otherwise, we might flush on top, or we might download the wrong thing.
Ignore depth buffers with stride = 0.

They're clearly not being used.
Fix graphical artifact in Jeanne d'Arc world map.

We need to use the last set render framebuffer, not the current one at
copy to output.
Merge pull request #6291 from unknownbrackets/gpu-blocktransfer

Flush before blitting, skip unlikely depthcopy case