d3d: Handle block transfers

This makes videos play and lots of other things work.  Not heavily tested yet, but Danganronpa seems to be able to investigate, for example.  There's probably still bugs.

However, as-is this hurts performance on GLES on Windows.  If I remove any two virtual methods from FramebufferManager (e.g. Init and ReadFramebuffersToMemory), it fixes it.  However, neither of those are being called in the area where the performance loss occurs.

I'm guessing it's changing optimization or the way the vtable is generated?  Maybe splitting out fbo management specifically (to have its own vtable) is the right option... not sure.

-[Unknown]