This will allow for the use of meshes inside the BVH. Returning the reference to a triangle inside the mesh directly instead of returning the reference to the mesh itself allows for more optimum execution.
This avoids having black squares around the objects because we computed that it was the closest but the ray didn't actually hit it...
This is designed to be the new BVH for the raytracer.