Don't do roi factoring calculations when level == 0
Unify buffer reads

Define all of the iterate_read operations in terms of
iterate_read_simple. This cuts down on a lot of
duplicate logic and is also moderately faster when
the abyss area is small.
tests: Add buffer test for abyss of a 0x0 buffer