Basic support for master playlists
If a master playlist has been downloaded, immediately fetch the default variant playlist and start buffering it. This matches HLS network activity in Safari on OS X which also seems to lazily load the non-default variant streams. Consolidate relative URL resolution and use a solution involving the `base` element to take advantage of browser logic for URL composition. Update test cases to expect absolute URLs for XHRs after the initial manifest request.
Trim attribute list key-value pairs
It's not valid according to the spec, but bipbop has whitespace after the commas in its key-value pair lists. Strip leading and trailing whitespace before splitting the key and value when parsing now. Update one of the manifests to use the bad format. Add differentiated media playlists.
Simple, bandwidth-only adaptive streaming
Use the calculated bandwidth after every segment download to select the appropriate bitrate playlist. Allow playlist selection logic to be configurable at runtime. Add tests to verify adaptive behavior. Currently, switching is pretty choppy but testing with a higher goalBufferLength (for instance, 30 seconds) looked pretty good.
Avoid creating new events and formatting fixup
Move the duration update functionality so it happens inline instead of in a custom event. Add a test case. Clean up formatting inconsistencies.