Fix genCmain code to remove ambiguity of `&main` expression

It was introduced by #2476, but the expression `&main` which is implicitly
inserted would conflict with two extern(C) and (D) "main" functions in
user module.

Instead, separate the entry-point code in the hidden module `__entrypoint.d`