Moon now provides it's own entry point.

There's not much advantage to provide the user a direct access
to the entry point, and many engines don't offer it. Instead,
we offer a custom entry point, that passes in the engine instance
directly before run() so we can do tweaking there if needed.