Fix empty catch
ChessEngine: consistently call g_warning on errors
Simplify implementation of ChessClock

Now with 1000x fewer wakeups.
chess_game_remove_hold: assertion '_tmp0_ > 0' failed

This occurred when starting a new game. We would call remove_hold on the
new ChessGame object as a consequence of "finishing" the animation for
the previous game. But no hold had ever been placed on the new object.