added new features and improved old ones

-it now uses 2 bytes instead of 1 byte for characters
-added buffered writers and readers that automatically encode and decode
the text
-you can now add encodings at offsets