Add 2D OpenSimplex noise.

OpenSimplex noise increases massively in complexity when you add dimensions, so the 3D and 4D versions may take a little while.