String helper functions to assist unit tests with multibyte encodings

Added routines to C library (string.c):

webvtt_next_utf8

webvtt_prev_utf8

webvtt_skip_utf8

webvtt_utf8_to_utf16

These are used by the C++ library to allow us to access the Nth utf16
character at some index.

This could also be easily extended to support utf32 if needed.

These routines are not perfect yet, so review review review.