Transcoder: Add MediaSampleQueue and unit tests.

MediaSampleQueue asynchronously connects producers and consumers of compressed media samples.
MediaSampleQueue will be used to hold output samples from each TrackTranscoder.
MediaSampleQueue will be extended to optionally limit the number of (or cost of) samples it can
hold before blocking the producer.

Test: MediaSampleQueueTests
Bug: 152091443
Change-Id: I8e78ea3c3848934078126220adaa91fb033b2088
8 files changed