HLS: bandwidth estimator changes

- separate bandwidth estimator from HTTPBase, so that we have
  better control on which samples to use, it also allows bandiwdth
  history across multiple HTTPBase objects (which we'll use later).

- use min buffer duration among the streams to decide whether to
  download next segment.

- maintain constant buffer level, time next download to happen
  when buffer just goes below kMinBufferedDurationUs.

bug: 19567254

Change-Id: I5c481ad1f7ff3f084d57ec68856e12ae6b40ce41
3 files changed