Fixed a shading bug in FresnelDiffusePTMaterial.
Abstracted PinholeCamera into ProgrammableCamera, allowing for a more configurable camera interface.
Implmented a Programmable Camera system.
Added an interface for Apertures.
Implemented a simple circular aperture.