non-local-means: change parameters and refactorize old code
non-local-means: compute weights using numpy operators

* Much faster, less error prone :)
non-local-means: fix bug where image was not correctly displaced
non-local-means: normalize image before denoising
non-local-means: add parameter to select the size of the original image
non-local-means: remove test code and add noise to image again