Rectangular pooling

Implemented rectangular pooling, allowing pooling with different kernel_size, stride and pad along each axis.

I will add tests soon and update.
If you check the kernel_size, then the pad and stride should be checked too.