Maximize/immersive commands can be queued up at startup to be executed on the first tick. This is necessary, because these commands can't be executed until the viewport has a parent window, which might not be there upon viewport initialization