Refactoring.

 * Renamed Noise to NoiseImage.
 + Added Noise class, which creates and parameterises the NoiseImage class.
 + Moved evaulation of function and its deriverative to seperate classes.