Split terrain generation and drawing into separate threads.  Asynchronous terrain generation allows for smooth experience.