Cleaning up BaseCamera, preparing to modularize it
Making virtual changes to BaseCamera
Abstracted Projection matrix out of the BaseCamera class and into its own class