Add some Charsets functionality.

* This is hopefully going to be a single place for FAST utf8 string handling.
* Ideally if the JVM behavior changes, this library can change
Changed to resetting position instead of relying on mark