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).
What is this trying to do?