Edge detection

Common edge detectors are implemented: Prewitt, Sobel, Laplacian:

| -1 0 1 |   | -1 -1 -1 |
| -1 0 1 | & |  0  0  0 |
| -1 0 1 |   |  1  1  1 |

| -1 0 1 |   | -1 -2 -1 |
| -2 0 2 | & |  0  0  0 |
| -1 0 1 |   |  1  2  1 |

|  0 -1  0 |
| -1  4 -1 |
|  0 -1  0 |



Canny edge detectors are also implemented: select the thresholds used in the hysteresis loop and the initial gaussian smoothing factor: