Change notifications for EClient's "readonly" property can come on any
thread. Our "notify::readonly" signal handler immediately updates the
model's editable status, which triggers GTK+ calls, which can crash the
application if we're not in the correct thread.
Connect instead to EClientCache's "client-notify" signal, which is
always emitted from EClientCache's dedicated main loop context, and
happens to be the same main loop context that GTK+ uses. It's also
less bookkeeping when the model's EBookClient gets replaced.