Generic C++ coherent noise library