Backport UTF-8 decoder from OpenJDK9 snapshot

[finishes #77623624]