add region_map which supports mapping over a region of an array. For
those tiles which are not in the region, reuse the tiles of the original
array.