ZKL: fix "Engine not prepared yet" error (fix #272 )

The bug is: 
when you start ZKL and immediately download (and start) a mission, it will say "Engine not prepared yet" even when user have the default engine. This is because ZKL only set engine when we joined room. The fix is to set default engine during ZKL startup, this incur no additional cost because it only store folder path and do nothing else.

Additional tweak:
Made MissionBar (mission mod) & SinglePlayerBar (singleplayer startscript) wait for engine download. The original code didn't include engine download because both mssion mod & startscript don't require specific engine, but if user have no engine whatsoever it could cause "Engine not prepared yet" error.