Fix FFT when destination does not have unit stride.
Since the underlying implementation API does not provide an explicit stride, we allocate a temporary buffer for evaluation then copy the final result to the true destination.
Fixes #2816 (closed).