Splash screen fix

Fixes the window creation and splash screen behavior to behave as intended.

The splash screen will be displayed, and will stay displayed without the window being created until the engine and GUI initialization is complete. 

This prevents the blank window from displaying as the engine starts up and overall looks better.
Sure, though I'm pretty sure `createCanvas` is a function that's defined in core scripts somewhere, so it'll have to pass that parameter on somehow.