emacs: reorganize current error in echo area around idle timer

This uses an idle timer to show the current error in the echo area. This
should hopefully be lighter than using pre- and post-command hooks.

A second timer is used to cancel the idle timer when there are no more
buffers using Merlin (I wish idle timers could be local to a buffer, but
unfortunately, once you start merlin-mode on one buffer, the idle timer
will wakeup even when you are viewing buffers where merlin-mode is not
running).
WIP