Add Unloading support for 2D maps
Add Unloading support for 2D maps

UnloadArea unloads a given area.
UnloadAreaOutside unloads the area outside of the specified region.

UnloadArea is good for discarding large blocks of items quickly, while
UnloadAreaOutside is useful for keeping a section in memory and
discarding everything else.

LambdaSix/InfiniMap,LambdaSix/InfiniMap