Related to #773
Currently when generating a BVH for a sub-range a triangle bounds buffer is created for the full geometry size, creating memory that is otherwise unused. Instead we should create a buffer that only spans the range needed. This may result in other portions of the code requiring offsets when reading data and could have an impact on performance, though.