Improved efficiency of multiple lights, and added findClosest to improve efficiency of raytrace function

findClosest removes the need to redraw over pixels and therefore can
remove a significant number of calculations