tried to add some sane error recovery, added a bunch of invalid tokens to not confuse the lexer, unwrap help text and use a better name for string unwrapping, compile lexer and parser base classes static
hopefully this helps a bit to see the structure of this beast