Refactor duplicated code from track event handling for incoming and outgoing calls into one arrow function
add rtcOfferConstraints to always offer audio and video reception
improve handling of remoteAudio and remoteVideo playback as play() returns a promise. Also make sure if the media tracks have no stream associated to create a new stream and add the remote tracks to it.