Pixel camera default

Basically, the "natural" coordinate frame for the canvas is
a pixel coordinate frame. We also want this to be the default
cs, because layout of subplots is easiest done here.

To reflect this, the transform system is such that the PixelCamera
yields a NullTransform as its projection, making it the most efficient
camera to use. The other cameras have a projection to map to the pixel
space.

Also got rid of NDCCamera and made the base Camera class not-usable.
Added UnitCamera1 and UnitCamera2 that map from 0..1 and -1..1
respectively. (better names are welcome)

Also has some small fixes to make viewboxes-in-viewboxes work for all combinations of fbo/viewport/none.

Basically, I now designed it such that `PixelCamera.get_projection()` returns a NullTransform. In effect, the other cameras need to map to pixel coordinates.