Add Procedurally generated levels.

I'll have to tweak, but that's way better than the level collection in a
plist. I also started using a level struct instead of a hash ( I had the
struct already, must have been an unused feature ).