Utf8 decoder performance improvements

Performance improvements in the UTF-8 decoder. This should result in a 50%-2x improvement in overall parser speed. Behavioral changes are minimal - there are slight changes in the handling of replacement chars of 5-7 byte UTF8 error sequences to match changes in the spec, but this is an obscure corner case that rarely (ever?) occurs on the open web.