Added camera class.

There's some weirdness in that the rotation appears to need negation.