Cuda fftconv

Optional fft convolution on the gpu controlled by the config flag enable_conv2d_fft (which defaults to False).

It can also be used directly if you want to use it only in parts of the graph, but there is no support for the automatic gradient in that case.