*Now* the ray tracer is consistently faster

- the k-d tree builder's parameters can now be supplied by the user
- the tracern modules can be built with a ray tracer that doesn't accept
  primitive batch objects (in case SIMD support is not available)
- generate_simd.py no longer leaves an incomplete file when an error occurs