support for surrogate pairs in read-onlys

we _do_ throw an exception if you try to subsequence a surrogate
pair in half. The only time that could possibly be intentional
is if you.. knew and were going.. to put.. them. back. no, it
doesn't make any sense. screw it.