Building caves using cellular Automaton from http://www.raywenderlich.com/66062/procedural-level-generation-games-using-cellular-automaton-part-1