Whilst attempting to implement DBCS encoding, I have discovered that
skip_backward cannot be implemented for this encoding style, due to the
mixture of 1-byte and 2-byte characters.
Some of the available options:
1) Throw an exception if somebody tries to skip_backward in a DBCS
2) Standardise on a single Unicode format for all internal string
3) Convert all strings in DBCS encoding to another format, either always
or only when skip_backward is invoked
4) Pass additional context information to skip_backward, so it can fall
back to counting forward when required
5) Remove skip_backward completely
6) Do not support DBCS encoding
7) Create an index for DBCS strings (i.e. a map of character offset
versus byte offset) - this would also require that skip_backward
receive additional data
More options, preferences, comments, etc all welcome.