Fixes vsRenderQueue's matrix for 2D drawing.

(Previously wasn't considering 2D camera movement).

This fixes rendering of fragments in 2D, when there's a
non-default-position camera.
Fixes 3D rendering of 2D non-fragment objects.

Previously, 2D objects using the traditional render path (using display
lists, rather than fragments) weren't correctly respecting the movement
of 3D cameras, due to the CPU-side compensation for camera motion that
we do for 3D cameras, to work around float imprecision problems in large
worlds.

Now that the fragment system is present, which does all the matrix math
CPU-side, there's no longer any real need for the CPU-side camera motion
compensation code at all, and I should conside removing it.

But for now, I just added the compensation code to the handling of 2D
transforms.

This means that you can now put vsSprites into 3D scenes and move them
around, rendering as one would expect.  Note that they'll be y-flipped
(since 3D scenes have Y-up and 2D scenes have Y-down), and that they'll
be constrained within the X/Y plane.  But otherwise, they'll work
exactly as you'd expect, and the Box2D integration will work normally.