adding components within mediastreams

a mediastream has multiple components, one for each distinct connection
also added a []byte <-> icechar string encoder/decoder
break out component file, more candidatepair logic
more agent connectivity logic