expanding ITerrainGen interface
refactoring to use interface where possible
fixing bug where texture was not bound before grabbing data
adding GPU water erosion
setting up data transfer from GPU erosion
shitty layer visualisation