Update webvtt_string_append to use a signed integer for length that uses strlen if negative.

Additionally, ensure that `result` is initialized to a valid variable before returning. Currently if the condition ( size && WEBVTT_SUCCESS( result = grow( str, size ) ) is false, the return value is uninitialized.

Also don't use WEBVTT_SUCCESS( ), this definition should not exist because it shares the name with a `webvtt_status` value