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-Commit-Position: refs/heads/master@{#12007}