Added a version with some easy optimizations:
 - Cached twiddle factors.
 - Larger FFT recursion end-points