Begin Using Namespace Class

Options for each `OutputContext` are now merged with those for the `Grammar` and
stored in a `Namespace`. This should make the printing code a bit cleaner.
Update Script to use New Output Methods

The script now uses the shorter signature for `write_grammar`.
Starts Using New Options in Output

Output now uses the shorter accesses to options. More work is needed here to
clean this up a bit more.