Proper Cave Gen replacement

- Added CEventHandler to replace the Cave Generators
Made CGenCaves more readable