refactor expand_vars into a class, add one more test for coverage
wrap OMetaParser in NinjaParser
rework NinjaParser.apply()
unroll grammar
unroll empty_line, ws, comment
unroll decl, add stubs for remaining rules
add docstrings, tests for include, subninja
unroll subninja
unroll include
unroll default
fix eol declarations in subninja, include, default