Remove Encoding, Standalone and Version tokens

- These parts will be dealt with parser, so no need to process them
  in lexer
Moved all states outside of parse_char to parse_char

- This centralizes way we deal with various parser states so they aren't
  spread out throughout the code