Added string unit tests, removed webvtt_prev_utf8 routine

Removed webvtt_prev_utf8 routine and ability to skip backwards with
webvtt_skip_utf8. The reason is because it was difficult to make these
work consistently with forward skipping, and seems unlikely to be used
anyways.

Have written some basic unit tests for the new string routines. More
of these are needed (EG to ensure that these things work for all the
different lengths of UTF8 sequences)

TODO:
 - unit tests for different utf8 sequence lengths
 - unit tests for C++ string wrappers