Support offset blocktransfers, fix GLES3 check

This may help #6137.  My understanding is it makes #2135 look a lot better, but there are probably still other problems.

I changed some of the NV stuff to make it more consistent, but I have no device to test it on.  I think there's a bug that implies it may not be working.

-[Unknown]