Fix FrameBufferVideoRenderer so that it can be attached to any producer

Ignore-this: 8f6002de26491a1d761c4453d5dce560

Before this change it was possible to change the producer on the fly, but
only to another producer of the same type. A VideoCamera is an active
producer, whereas a RemoteVideoStream is a passive one. Now the renderer
will destroy the underlying video port and recreate it automagically, in
order to accomodate any producer type.

darcs-hash:20140924111242-56b4d-b37bef3f6f4c7c6ee3e672c88754843dc938eaaf
Fixed bogus exception message

Ignore-this: 57e5b84a421140893bb09a6b2719bb9f

darcs-hash:20140924111743-56b4d-4ca1328de09e23b7e345f1cef2ee334bdefb0149
Restart TCP and TLS transports when network conditions change

Ignore-this: e29a717e99853c4c6db2a86169936c19

darcs-hash:20140924123602-56b4d-ce37e7fbe9145a870a1680d72e328f05afe0f120