Flush before blitting, skip unlikely depthcopy case

If we stalled a list, we could end up with a memcpy() during the stall, which would not work properly.  This flushes before performing any blit/upload/download operations so that they are properly consistent.

Additionally, I realized that depth has a stride that is generally 0 when not in use.  This makes it report less spurious warnings about depth overlap, and might skip rare cases of depthcopy (when moving from a depth buffer at 0 with stride, to a framebuffer with no depth buffer.)

-[Unknown]