[refactor] Generate C main directly instead of invoking the parser

The way code moves from a bunch of different functions into one should speak for itself, but in case it doesn't:
- If we create a special module we then have to treat it differently
- Less mess means less to remember
- Invoking the parser is just hideous