Fix view extent

Revert changes to `CameraController.viewExtent`. Move check for zero vector sooner and adjust if needed.

The extents in the camera Sandcastle example and those given in #1431 and #1413 should all work. Also the tests should all still pass in Chrome Canary.