Survive invalid savegames

This adds protection around the Game.LoadGame call, and displays a Lua driven (recoverable) new-ui error message if load fails. It also applies @pgimeno's fix for #2466, so that loading from in-game, via the old-gui settings screen, doesn't segfault when you close the error message.