add h/w kernel size, stride, and pad for non-square filtering

while keeping everything working as-is.
im2col + convolve non-square filters, padding, and stride
test rectangular im2col
fix GPU indexing

Thanks to @ejaz-izy's debugging in
https://github.com/BVLC/caffe/pull/505#issuecomment-50287608
test non-square filters by separable convolution of Sobel operator

Compute the G_x kernel of the Sobel operator as a full filter and as
separable filters to check the rectangular filter output.
Merge pull request #505 from shelhamer/non-square-filters

Non-square Filters and Separated Stride and Padding