This is the first CL needed to add a new `AdaptiveModeLevelEstimator` feature that makes AGC2 more robus to VAD mistakes: the level estimator discards estimation updates when too few consecutive speech frames are observed. In this CL, the state of the estimator is defined in a separate struct so that in a follow-up CL a new member of that type can be added to hold a temporary state (that can be either confirmed or discarded). Tested: Bit-exactness verified with audioproc_f Bug: webrtc:7494 Change-Id: Ic2ea5ed63c493b9f3a79f19e7f5eaecaa6808ace Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184931 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Minyue Li <minyue@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32199}