media: Send a signal when a candidate pair is established
appdata: Finish implementation and thread-safety
The readable/writable callbacks now get called correctly and the
blocking read should block correctly waiting for data. We also
try to fill as much data into the buffer as possible when we do a read.
Now everything is also thread-safe and should be safe against unexpected
session destruction as well.