* feat(parser): first iteration of new lexer
* feat(parser): convert token string props to number props
* refactor(parser): optimize char grabber
* refactor(parser): working on new lexer
* refactor(parser): convert token string props to number props
* refactor(parser): rebuild lexer, add tag attrs parsing
* refactor(parser): rework word parsing and tag parsing
* refactor(parser): rework to pass tests
* refactor(parser): rework tag parsing
* refactor(parser): rework escape tags parsing
* refactor(parser): rework tests
* refactor(parser): all test pass
* refactor(parser): make lexer faster by move mode switching in loop
* refactor(parser): remove all state map objects
* refactor(parser): order of parsing states
* refactor(parser): state switching without return
* refactor(parser): rename buffers to chars
* refactor(lexer): reduce function calls
* feat(lexer): add new parser tests and code to pass it
* fix(utils): remove unused variable in char grabber
* feat(lexer): add test for new lexer bug
* chore(*): add lexer and lexer2 to benchmark
* chore(lexer): add some debug info for char grabber
* feat(parser): add new test for single attributes without values
* fix(lexer): paired tags tests
* refactor(lexer): comment breaking changes tests for future releases
* feat(core): improve tests
* refactor(parser): add more tests, reduce char grabber size
* refactor(parser): reduce utils size
* refactor(parser): remove unused code from tag parsing code
* refactor(parser): remove unused code from word to tag transforming code
* chore(benchmark): fix benchmark imports