Fix to the ray-AABB intersection to resolve cases where hitting an edge ...

...would return false negatives.

I hit a problem in my title where a ray hitting an AABB on its edge or a corner would intermittently report false negatives (returned null where it was a hit).

I couldn't understand the current algorithm, and comments were full of typos, so I just adapted a C++ algorithm instead and made it a bit safer.

"Works here" but I haven't made specific test cases for it.