Add FFT Poisson solver using NumPy