git-gui: Only bind the spellcheck popup suggestion hook once

If we reconnect to the spellchecker there is no reason to resetup
the binding for button 3 on our text widget to show the suggestion
list (if available).

Plus, by moving it out of _connect and into init we can now break
out of _connect earlier if there is something wrong with the pipe,
for example if the dictionary we were asked to load is not valid.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
diff --git a/lib/spellcheck.tcl b/lib/spellcheck.tcl
index f359356..a37ff5f 100644
--- a/lib/spellcheck.tcl
+++ b/lib/spellcheck.tcl
@@ -23,6 +23,7 @@
 	set w_menu $ui_menu
 	array unset s_suggest
 
+	bind_button3 $w_text [cb _popup_suggest %X %Y @%x,%y]
 	_connect $this $pipe_fd
 	return $this
 }
@@ -66,7 +67,6 @@
 	$w_text tag conf misspelled \
 		-foreground red \
 		-underline 1
-	bind_button3 $w_text [cb _popup_suggest %X %Y @%x,%y]
 
 	array unset s_suggest
 	set s_seen    [list]