Let bvh return NodeIntersection enum
Scene implements two different functions to see if a ray intersects the shapes in the scene. One linear and one optimized.
Bug: There is still a problem with lifetimes, so it is not possible to build the search tree and then see if a ray intersects the scene. This has yet to be fixed