[x] squash "Rename CFDS::m_Fds to m_FDS" into my earlier commits
[x] get rid of std::optional to improve performance
[x] check to see the two blip_buffers are creating latency or not
9 samples of latency, this is bad
fixed: 8 samples of latency from mix_samples()
fixed: 1 sample of latency from read_samples()
[x] implement "cycles until level change"
[x] switch to mesen, the emulation there is more deterministic
[x] check if mesen is accurate
dreadful quantization due to uint8 output, likely not hardware accurate
fixed
[x] fix volume meters
[x] fix volume mixing levels
when testing famitracker with nsfplay 2a03 and mesen fds ("volume comparison pulse fds.0cc"), the 2a03 vs. fds volume balance is closest when the meter is set to +1dB.
todo: