Classic Perlin Noise

This is based on the classic variant (not the periodic).

Ported from: https://github.com/ashima/webgl-noise/blob/master/src/classicnoise2D.glsl