Optimised noise generator.

Uses semi-2D Perlin noise instead of 3D Perlin noise with Z as 0.