We should likely change the API for providing the encoding of a stream, given the spec variously uses: - user-provided encoding, - transport-layer encoding, - parent origin encoding, - locale-dependent default encoding. We should probably provide an API to provide all of these, so that the encoding detection operates correctly.