1 - Fix the raycasting code
2 - Started to play with ordering results, this fell into two initiatives:
  a - Try to traverse the tree in order. This is considerably more efficient
      but simply didn't work. I think determining the distance based on a parent
      node's centroid is just too innacurate to provide proper ordering.
  b - Overscan more than 1 page of results, and sort it

Both a and b are still in, but they don't complement each other (at all). The
"b" path is what makes it work, but I kept "a" around because I haven't given
up on making it work yet.

Also started to introduce result pools.