Split audio mixer into interface and implementation.

The AudioMixer is now split in a mixer and audio source interface part, which has moved to webrtc/api, and a default implementation part, which lies in webrtc/modules.

This change makes it possible to create other mixer implementations and is a first step to facilitate passing down a mixer from outside of WebRTC.

It will also create less build dependencies when the new mixer has replaced the old one.

NOTRY=True
TBR=henrik.lundin@webrtc.org
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2411313003
Cr-Commit-Position: refs/heads/master@{#14705}
diff --git a/webrtc/api/api.gyp b/webrtc/api/api.gyp
index c431e9e..8a7fe5a 100644
--- a/webrtc/api/api.gyp
+++ b/webrtc/api/api.gyp
@@ -232,5 +232,16 @@
         'stats/rtcstatsreport.h',
       ],
     },  # target rtc_stats_api
+    {
+      # GN version: webrtc/api:audio_mixer_api
+      'target_name': 'audio_mixer_api',
+      'type': 'static_library',
+      'dependencies': [
+        '<(webrtc_root)/base/base.gyp:rtc_base_approved',
+      ],
+      'sources': [
+        'audio/audio_mixer.h',
+      ],
+    },  # target rtc_stats_api
   ],  # targets
 }