Move FFT out of OpenCL backend

And fix the remaining incompatibilities with CUDA