Add ICE candidate handling for peer connections (to support trickle ICE)

This implements ICE candidate handling for peer connections. The basic idea here is that we may get notified of ICE candidates for peer connections. At this point, we must pass them via our signalling route to the other peer on the call.

ICE candidates may be sent from either end. In Firefox this may occur any point after createOffer is called.