APM AGC2: consolidate `GainController2`

Now that `InputVolumeController` is finalized, it's time to
consolidate AGC2.

Main changes:
- Remove `AdaptiveDigitalGainController`: it's too simple to justify
  a dedicated class and some components of it are also used by
  `InputVolumeController`
- Remove unwanted temporal dependency: make `InputVolumeController`
  adapt the volume based on the current speech level estimation and
  not on the estimation from the previous frame

Tested: AGC2 adaptive digital bit-exactness verified

Bug: webrtc:7494
Change-Id: I175c2741cafc52be81794219c996a3824c3bbf5e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280560
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38841}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 9724666..c1a2756 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -2308,7 +2308,8 @@
   const bool use_vad =
       transient_suppressor_vad_mode_ == TransientSuppressor::VadMode::kRnnVad &&
       config_.gain_controller2.enabled &&
-      config_.gain_controller2.adaptive_digital.enabled;
+      (config_.gain_controller2.adaptive_digital.enabled ||
+       config_.gain_controller2.input_volume_controller.enabled);
   if (!use_vad) {
     submodules_.voice_activity_detector.reset();
     return;