move dft overlap handling into SpectrogramThread and simplify AudioThread