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

WIP; do not merge

This implements ICE candidate handling for peer connections. The basic idea hear 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.

ICE candidates may be sent from either end. In Firefox this may occur any point after createOffer is called.