Lost audio packets are replaced with silent frames in AudioMixer; AudioMixer silent-packet-dropping now enabled no matter what; Moving avg of audio frames available replaces _currentJitterBufferFrames

Issue 1: Upstream audio packets that are lost are not being replaced in the AudioMixer, which will lead to the jitter buffer to decrease in size as more packets are lost.

Fix: When skipped sequence numbers are detected, the lost packets are replaced with silent frames, each the same size as the packet that came after the lost packets (not a great assumption to make).  These silent frames are also droppable (explained in Issue 2).

Test: added code to randomly drop packets, debug prints verified that silent frames were being added.


Issues 2 & 3: _currentJitterBufferFrames was not an accurate way to measure the current jitter buffer length.  It was calculated as the frames available right after a refill, which can be inaccurate if the refill happened during a big burst of packets. This value is used when deciding to drop silent frames by comparing it to _desiredJitterBufferFrames.  If it's inaccurate, silent frames may be dropped at the wrong times.   Also, silent frames are only dropped in dynamic jitter buffer mode.

Fix: AudioMixer now drops silent packets when the average jitter buffer length over the last 2 seconds exceeds the desired jitter buffer length by some threshold (currently set at 1 frame).  This behavior is now enabled regardless of whether or not _dynamicJitterBuffer is on.

Test: added code to randomly send extra silent frames to enlarge jitter buffer.  Silent frames were observed to be dropped which reduced jitter buffer length.