Implement part of java.nio.{Byte,Char}Buffer.

These are required to implement Charset encoders and decoders.
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().
Fix #1263: Implement java.io.InputStreamReader using CharsetsDecoders.
Merge pull request #1259 from sjrd/charsets

Implement the standard Charset encoders and decoders.