Tokenizer's constructor shouldn't modify it's argument

The string that was passed in was getting re-encoded in-place:

    Encoding.default_internal = 'UTF-8'
    enye = "\xF1".force_encoding('ISO-8859-1')
    puts enye.encoding #=> ISO-8859-1
    HTML::Tokenizer.new(enye)
    puts enye.encoding #=> UTF-8
    # Oh no! Who re-encoded my enye in-place?!?