Updated 2 test scenes to the new class hierarchy
Overhauled the surface class hierarchy to reduce memory requirements, and provide a cleaner design.
Significantly reduced the runtime cost intersection test in AABVH
Reduced the object allocations in when recursively traversing Materials.