Javadoc
Given a packed array encoding a larger area, a packed array encoding one or more points inside bounds, and an
amount of expansion, expands each cell in start by a Manhattan (diamond) radius equal to expansion, limiting any
expansion to within bounds and returning the final expanded (limited) packed data. Notably, if a small area is
not present within bounds, then the flood will move around the "hole" similarly to DijkstraMap's behavior;
essentially, it needs to expand around the hole to get to the other side, and this takes more steps of expansion
than crossing straight over.
Returns a new packed short[] and does not modify bounds or start.