parser: rewrite parser to be lazy
cesso: update decode head
mix: update Elixir version requirement
test: add some parser tests
test: add some decode options tests