Change the original code to load an executable instead of a DLL.

There are a few changes:
* New MemoryCallEntryPoint() to start the executable.
* Stop calling the Dll entry point automatically.
* Do it as two separate steps so that we can either load resources or free up some memory before calling the executable.

The main issue is that we can't release DLL dependencies when we're done because the executable entry point never returns. But for my immediate purposes, I'm happy to let the operating system clean stuff up behind us.