ENH: improve signal.convolve2d performance

Store indices in inner most loop and apply them in one typed loop one
level lower. This avoids expensive memcpy and function calls for very
cheap operations.
Improves performance by almost a factor 3 with relative small changes,
but there is still a lot of room for improvement.
Merge pull request #3277 from juliantaylor/sig-conv2d-improv

ENH: improve signal.convolve2d performance