Optimise BBox::intersects

perf record shows BBox::intersects taking up most CPU time on the
heptoroid scene. See comment in BBox::intersects for more details.