Finish up UTF8 decoding work.

- Removed the string parsing use case as I don't really think
we need to support that right now. We can add that in the future
if we want too.
- The test suite now passes all vtt test data to the parser as
Uint8Arrays.
Simulate streaming up to only the first 3 bytes.

Switching over to using a decoder was causing us to fail on
files with BOMs because the #whatwg encoding algorithm expects
to see the BOMs before receiving new chunks. Therefore, the
first chunk must always have the full BOM in it if there is
one.