The vocab as a character vector of tokens. The casedness of the
vocabulary is inferred and attached as the "is_cased" attribute. The
vocabulary indices are taken to be the positions of the tokens,
starting at zero for historical consistency.
Note that from the perspective of a neural net, the numeric indices are
the tokens, and the mapping from token to index is fixed. If we changed the
indexing (the order of the tokens), it would break any pre-trained models.