Camera: Break CameraGeometry into cc file

Hopefully this saves some compilation time. There is more that could
be put in here. But they're listed as inline, so I'm leaving them in
the header so they'll actually be inlined.

(Though the code chunks that are marked as inline are incredibly
large. I doubt there is any benefit to them being inlined.)