emacs: improved `completion-at-point' support

- built-in `company-mode' support for documentation & location lookup
  (this requires the `company-capf' backend which is only available by
  default in Emacs 24.4 or the current trunk).
- computation of completion candidates is delayed for better performance
  (it will also be cached if `completion-table-with-cache' is available).
- simpler, cleaner code.