Normalization and mean centering for images
#244 is currently adding image reading and writing.

Raw images have data in the [0, 255] range and are usually rescaled before use in deep learning model to:

  - improve convergence
  - prevent exploding or vanishing gradients

The usual rescaling techniques are:

- Normalization:
   - [0, 1] range  - `img / 255.0`
   - [-1, 1] range - `img * 2 / 255.0 - 1`
- mean centering: `(img - mean(dataset)) / stddev(dataset)`
   - either by substracting a global mean
   - or by substracting the mean of each color channel
