emacs: improved effiency of completion-at-point.

completion-at-point runs the callback each time a key is pressed after
triggering the completion (by calling completion-at-point). Merlin
were doing the request over and over again, for each character further
typed. Now it's smarter, it computes completion for all the ident
under the current module, ie. if one completes "Module.id" it will ask
for "Module." and then reuses the result as long as it can.

It could be further improved though.