Use 'ideal' rather than 'exact' for deviceid
We were using 'exact' which means we fail outright if the device
we wanted isn't available. This means if a user selects a specific
device then later unplugs it, we fail to open a capture device
the next time they make a call even if there's one available.
Using 'ideal' uses the chosen device in preference, but something
else if it isn't available.
Also log the name of the exception when we fail to open a capture
device to give us more of an idea of what's gone wrong.
Should help fix https://github.com/vector-im/riot-web/issues/8993