add first cut of a buffer class
tear out the crappy encoding support from String, use buffers properly for non-utf8 data