button ctor throws game::error when it can't find its image

This partially reverts an earlier commit
28fe7e44

instead of changing the exception type to game::game_error,
(which I assume is meant for in-game errors?), we go back to
game::error which is now handled properly in playcampaign.cpp
and game_launcher.cpp

Tested that this does not reintroduce bug 22611.