This is mostly just code deduplication and cleanup. The only functional changes are that averaging is now done correctly when there are multiple FFT data chunks for a single waterfall line (previously it was more like an IIR filter prioritizing the last sample), and the pandrapter/spectrum plot remains visible when stopped in the non-GL Waterfall, just like the GLWaterfall.
This is mostly just code deduplication and cleanup. The only functional changes are that averaging is now done correctly when there are multiple FFT data chunks for a single waterfall line (previously it was more like an IIR filter prioritizing the last sample), and the pandrapter/spectrum plot remains visible when stopped in the non-GL Waterfall, just like the GLWaterfall.