Use luma grayscale conversion (like PIL)
Optimize centered squares
Use numexpr to speed up ssim_map
Fixing Gaussian Kernel

Allowed for different kernel widths, but mu was a constant 5 in the
formula
Gaussian filter implemented as sequence of 1D filters

Use 1D Gaussian filters, apply twice, along each axis. Pretty close to
what scipy.ndimage.filters.gaussian_filter does, with a different
window size.
To grayscale without reshaping