Rewrite parser in Gren. Where possible, new features like `Parametric Modules` should be implemented as part of the rewrite. New parser should have tests, and parsed code should be formattable.