Working ArrayList fyeah

So now we can procedurally generate a random level! Merging with master
now. There are some serious performance issues in story mode however,
which don't seem connected with the change in structure.