simplify lr spec to get better dev visibility
make Parser.to_s support recursion
make NonTerminalParser a bit leaner
use "rulename@offset" for memos
simplify lr spec further (get rid of num non-term)