Fix annotation being added to tokens that cannot accept one.

WEBVTT algorithm specifies that only voice and language tokens can accept an annotation.
Currently we only support voice tags so this commit only addresses that. I've added a
function that will be able to tell the cue text tokenizer if the token tag name accepts
an annotation. If it does then it will be added to the token. If not then the annotation
will be released and a safe empty annotation string will be added to the token.