Use RTCAudioSessionDelegateAdapter in AudioDeviceIOS.

Part 3 of refactor. Also:
- better weak pointer delegate storage + tests
- we now ignore route changes when we're interrupted
- fixed bug where preferred sample rate wasn't set if audio session
   wasn't active

BUG=

Review URL: https://codereview.webrtc.org/1796983004

Cr-Original-Commit-Position: refs/heads/master@{#12007}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: e54467f73e2630bbaf751a4db4326d1278f704e5
15 files changed