CPU (non-OpenCL) CLAHE Support for CV_16UC1 Images

The CPU implementation (non-OpenCL) implementation algorithm now supports image types of any OpenCV supported integer types.  Addresses: CLAHE Lacks Support for Other Image Types (Feature #3749).
here the division is missing, thus in the case of 16-bit images with width not divisible by 4 you will likely get heap corruption