Implement the standard Charset encoders and decoders.

* US-ASCII
* ISO-8859-1
* UTF-8
* UTF-16 BE/LE/auto

This also fixes #1087: String.getBytes().
JDK Doc says:

> CoderMalfunctionError - If an invocation of the decodeLoop method threw an unexpected exception

IMHO, a `CharacterCodingException` is unexpected, because it should be reflected in the `CoderResult`. Did you test what happens?