Cameras

Camera view areas now work. The code for doing it is a damned shameful
mess, but I'm going to check it in for safety's sake before I tidy it
up.
Despite all my grumbling about pragmatism, I've still yet to do the
actual detection tests.