improve error handling in RestoreApplicationStateCommand

RestoreApplicationStateCommand now checks the result of executing
SyncGTPEngineCommand; one case that is covered by this is when the
stored app state contains game moves that are rejected by Fuego after
an app upgrade (e.g. the stored game contains a superko, but the new
app version configures Fuego to not allow superko)
command processor now updates progress HUD in main thread (closes #172)