Added Windowing Functions

FFT Windowing support has been implemented. However, I only added 8
windowing functions out of the like ~30 ones on Wikipedia. I believe 8
should be enough for now. More can easily be added on request.