Added more helper classes and funcitons, including rays, materials, bounding boxes, and a bit of vector arithmetic