The camera struct maintains all the state of the camera. In order to maintain correct the
correct aspect ratio and timing for orbital mechanics, it needs to be updated every frame.
Create a perspective transform that takes eye space coordinates into clip space
using field of view and aspect ratio to define the viewing frustrum. We assume
that the center of the near plane is also the center of the screen.