computer-player: split searching out of move()

Let's split the move action out from the search logic, so that we can do
more complex things in move(), like returning after a delay and running
the search in another thread.

https://bugzilla.gnome.org/show_bug.cgi?id=736932
Calculate move delay after performing search

Right now, we add a fixed amount of delay before each move, then start
the search. This means that the game takes longer to move on higher
difficulty levels and slower computers. Mitigate this by computing
artifical delay after the completion of the search instead. (This means
the AI will now move a bit faster than before.)

https://bugzilla.gnome.org/show_bug.cgi?id=736932
computer-player: don't run search on UI thread

It doesn't matter at the low depths we use, but it'd be better not to
block the UI for the duration of the search.

https://bugzilla.gnome.org/show_bug.cgi?id=736941