Fix BBox::intersects not checking ray direction

I have made a huge mistake.

Sibenik takes 36% faster than pre-fix.
Fix BBox::overlaps, add tests to BBox
Add test to Ray