Iterator that search the quad tree depth first. 32000 indices are cached at a
time and each time a node is visited the indices are removed from the node so
that the memory footprint is kept small. Note that if other iterators operate
on the same tree then they can interfere with each other.