ProcessPendingEvents() was never called when using MFC event loop, meaning that queued events were never processed, so that using CallAfter() didn't work. Fix this and also ensure that these events are processed soon enough by also implementing WakeUpIdle() for such applications, as wxWakeUpIdle() didn't do anything neither for them.