As table hashes are generated from their GC pointer, and these pointers
are potentially different each time a program is run, using them for
keys in a table causes the iteration order to potentially differ between
runs, too. This commit changes each_overlapping_entity() to not iterate
the set of entities, assuring the order in which :each() passes entities
to the callback function is deterministic.