Changelog:
* Better support for non-webrtc use cases
* Enable multiple readers
* Enhance codec selectors
* Update APIs to reflect on the new v3 webrtc design
* Cleaner APIs
Resolves https://github.com/pion/mediadevices/issues/141
* Remove newVideoTrack and newAudioTrack
* Add a generic encoderBuilder struct
* Add newVideoEncoderBuilders and newAudioEncoderBuilders helpers
* Update sampler to be functional and add support for audio sampler
* Reduce boilerplates by using closure
Add WithTrackGenerator option to specify TrackGenerator.
This allows user to replace Track by user defined one that
has WriteSample() and Codec() interface.