new classes, Ray, CScreen, CCamera, CBRDF

still need to clean up,
Ray.hasPoint() methods,