Make local-audio demo capable of choosing codec.

This is meant to be used by WebRTC telemetry tests. The idea is to measure CPU usage for each codec we support on all platforms (including Android and ChromeOS).

This patch also fixes the call flow to be asynchronous when setting descriptions; the page will flakily fail otherwise.

If you wish to avoid the mild addition of complexity, I can create a new page instead (but then we'll get problems with duplication).
Not sure, to be honest, but it needs to be there (otherwise non-opus codecs won't work). I did make the regex better though so it just copies the fmtp parameters rather than assuming it must be minptime=10.

I have to assume payload type 111 here; I can't replace all fmtp lines since there is one for video as well.