Improved convolution for smoothing
No longer accept tuples - just require the user to pass the kernel if it's not a symmetric box function or Gaussian kernel.