better perlin

next: new canvas → now the perlin noise is seamlessly tileable
i also optimized the functions.