Huge BVH optimization

I implemented a top-down BVH and kept the bottom-up BVH. By using a
combination of both I can make a really good model. Since the algorithm
for bottom up is very slow with a large set of data, I use the top down
approach until I hit a certain amount of objects in a box (5000) and at
that point I create all bounding boxes based on a bottom up approach.
This makes my pre-processing time only 2 seconds for the bunny and a
frame renders in 8 seconds.