Rectangular pooling

Implemented rectangular pooling, allowing pooling with different kernel_size, stride and pad along each axis.

I will add tests soon and update.
What if the users configure them as -1 and -1?