Yields every cell Position in row-major order.
Iterable<Position> get positions sync* { for (var row = y; row < bottom; row++) { for (var col = x; col < right; col++) { yield Position(col, row); } } }