encoder: Add basic DASH encoding support.

Without the Adaptive part: Only a single audio and video stream
are currently supported.

dash_writer:
- Add chunk identifier utility function.
- Simplify usage; get rid of the DashConfig* arg to Init().
- Ditto for WriteManifest().
- Fix frame rate property format (should be camel cased)
- Fix duration property data in Period and MPD (need format suffix)

data_sink:
- Add identifier arg to DataSinkInterface to facilitate passing chunk
  types/ids/names to sinks.

webm_encoder:
- Add audio and video muxers to WebmEncoder.
- Refactor all WebmEncoder call sites that interact with
  LiveWebmMuxer to supprot dealing with multiple muxers.
- Add DASH specific encoder loop function.
- Add file i/o: Immediately write DASH manifest and chunks after
  they are read from muxer(s).

webm_mux:
- Add facilities for tracking muxer and chunk number to make
  use of multiple muxers easier.

Change-Id: I3859f9d6b068d906e3f88dfea0493f0d45636d4f
8 files changed