CoralVM-Java: Replacing Optional with Either in contextual tokenizer to allow some pending tokens to return more than one token

This is for some special cases where the actual token is depending on an occurrence of another tokens in the same context. This is a reverse dependency, while compared to contextual: contextual dependency says that a token has special meaning when preceded by some particular other tokens. This is to enable the opposite direction, when a token is only special when followed by a particular token (excluding whitespace when applicable).