Move all arrays to allocating actual data rather than pointers to simplify construction and destruction. Also moved to M_EACH for iterating over arrays for less boilerplate code.
Also did some function renaming for extra clarity.
root_area is now a node type for simplified area traversal (coming soon).