Restructure the createOffer algorithm to improve readability.
This eliminates the 4 levels of nesting and GOTOs from the previous
version. Now we have separately specified series of steps, which are:
* The steps when createOffer is immediately called
* The steps run in parallel
* The steps queued by the parallel steps, which actually generate SDP