Create Callback Context

This is a class that is responsible for delegating writing to another class.
It does this through a map containing callbacks for different stages of the
output process. More stages might need to be added later.
Add Nullable Handling to C Output

This basically just allows return of 0 when no expansion matches.
Add Pretty Print Context

This context is responsible for printing automaton out in a human readable form.