Move "user media" logic into its own provider.

- This new provider is meant to be reused by the settings in the future

Change-Id: I513c07f2390445fb4802091b316244665218f948
diff --git a/client/src/components/CallButtons.tsx b/client/src/components/CallButtons.tsx
index 0b179bd..d853cc1 100644
--- a/client/src/components/CallButtons.tsx
+++ b/client/src/components/CallButtons.tsx
@@ -21,6 +21,7 @@
 import { ChangeEvent, useMemo } from 'react';
 
 import { CallStatus, useCallContext, VideoStatus } from '../contexts/CallProvider';
+import { useUserMediaContext } from '../contexts/UserMediaProvider';
 import {
   ColoredRoundButton,
   ExpandableButton,
@@ -138,7 +139,7 @@
 };
 
 const useMediaDeviceExpandMenuOptions = (kind: MediaDeviceKind): ExpandMenuRadioOption[] | undefined => {
-  const { currentMediaDeviceIds, mediaDevices } = useCallContext();
+  const { currentMediaDeviceIds, mediaDevices } = useUserMediaContext();
 
   const options = useMemo(
     () =>