engine: Split up main.hpp into platform specific file

It was a tangled mess of ifdefs, much clearer now that they
all use the MicroFlo engine through the embedding API, customizing
the I/O backend and graph loading mechanism.