Infinite Procedural Terrain Engine

There is now a simple shader generator to gracefully handle a variable number of textures and a variable number of slope/altitude boundaries per texture. This obviates the need to modify multiple lines in both the shader and python side to achieve such changes.