Updated our STFT algorithm to apply a windowing function.

This commit updates our STFT algorithm to apply the Hann window function
to our data, which should help reduce spectral leakage in our DFT
results. Additionally, this commit adds some assertions when compiling
in debug mode to help ensure correctness.