webrtcbin: only start gathering on local descriptions
If we are in a state where we are answering, we would start gathering when the offer is set which is incorrect for at least two reasons.
- Sending ICE candidates before sending an answer is a hard error in all of the major browsers and will fail the negotiation.
- If libnice ever adds the username fragment to the candidate for ice-restart hardening, the ice username and fragment would be incorrect.
JSEP also hints that the right call flow is to only start gathering when a local description is set in 4.1.9 setLocalDescription
"This API indirectly controls the candidate gathering process."
as well as hints throughout other sections.