Minor cleanup - remove redundant null check for subsystems pointer.

Some of the subsystems are registered when the Engine is instantiated and I believe their references should remain valid until the engine stops.
Minor enhancement on getting optional resources and error handling.
Prevent any usage of windowless MessageBox.
Enhance editor to pop open the console when receiving error events.