operations: add a simplex noise operation

Added a simplex noise operation implementing the noise function
originally presented by Ken Perlin during a SIGGRAPH 2002 course and
further explained in the paper "Simplex noise demystified" by Stefan

implemented by Dimitris Papavasiliou <dpapavas@gmail.com>