Defined a utf8_skip_table lookup table for determining how many
bytes to skip per UTF-8 start byte to jump past an encoded Unicode
code point.
Implemented a utf8_encode() function based on the logic for the
WRITE_UTF8() macro from the src/utf.c file in SQLite 3.x (in the
public domain).
Implemented the utf8_length() function.
Implemented a utf8_skip_char() function for skipping past each
encoded Unicode code point in a UTF-8 string.
Implemented a utf8_decode() function based on the logic for the
READ_UTF8() macro from the src/utf.c file in SQLite 3.x (in the
public domain).
Reorganized the UTF-8 encoding/decoding code.