ENH: Extend pad_width and constant_values capability in pad.

Previously, it was not possible to (a) pass NumPy arrays as input for both
input arguments, (b) use float values as constant values, and (c) there was no
check if the pad_width is of integral type.