Coqide: avoid potentially blocking read on coqtop channel

 With Pierre-Marie, we discovered the hard way that Glib.Io reads
 are *not* non-blocking by default as I thought. My bad...
 This was causing nasty freezes of coqide in the rare cases where
 the final read was exactly filling the buffer (which was of size 1024).

 Now:
 - the input channels from coqtop (and various other external commands)
   are given to Unix.set_nonblock
 - Exceptions in our io_read_all (typically a kind of EAGAIN) terminate
   the read
 - We can now switch to Glib.Io.read_chars instead of the deprecated
   Glib.Io.read.
 - Btw, we use a larger buffer (8192).

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16138 85f007b7-540e-0410-9357-904b9bb8a0f7