A Track shouldn't block until a PeerConnection is connected. It should
only send to PeerConnections that are fully established. v3 Track API
changed this behavior by mistake.
Related to pion/transport#116
* Return error to user when remote doesn't support codecs
* Assert that bindings are properly incremented/decremented
* Assert that a added track doesn't error even when disconnected
Relates to #1526