Added camera class

Added a Camera class which supports any position, direction,
orientation, and also lets you use a custom field of view!