FFTW3 FFT via FFI

Hey Francesco,

here is a branch ("fftw") with the fftw functions replaced by wrapper calls for the FFTW library. Why did I do that? For one thing I wanted 2D, 3D and nD FFT which are far better supported by FFTW. Also I know you like to have the best speed there is and FFTW is faster than the GSL implementation (in case of many FFTs).

I have done some benchmarks that you maybe also want to try.
Original version (4.5 sec):
```bash
git checkout master
time gsl-shell -e "test=matrix.cnew(256,1,|i,j|i-1); for i = 1,1e6 do num.fft(test) end"

New version (0.9 sec):
```bash
git checkout fftw
time gsl-shell -e "test=matrix.cnew(256,1,|i,j|i-1); test2,plan = num.fft(test); for i = 1,1e6 do num.fft_plan( plan,test,test2) end"
```

I just want to know your opinion about it and if I should proceed with this (documentation, tests, maybe 2D demos).