Clean up soft FFT

Perform some optimizations on the FFT also investigate hardware FFT
interfaces and use those where possible.