Refactored tonnes of stuff in prep for projects

Data no longer extends Region, because it can be referenced in multiple
places. I basically split up functionality where I think it should go.
There are still tonnes of compiler bugs to fix in the World Designer
repo =D