add dynamic size
rename PerlinNoise to PerlinSurface
refactor and implement interface changes
add size override parameters to lockMemory and createImage
refactor and implement interface changes