WebAssembly enforces a rule that caller and callee signatures must
match. This means that the traditional technique of passing main
argc and argv even when it doesn't need them doesn't work.
Currently the backend renames main to __original_main, however this
doesn't interact well with LTO'ing libc, and the name isn't intuitive.
This patch allows us to transition to __main_argc_argv instead.
This is currently being discussed in https://github.com/WebAssembly/tool-conventions/pull/134.