initial support for multi-buffer
@ replace delta with collector

- removed delta
+ add collector for collecting highlight groups and asking vim for
  highlighting.
@ adjusted vim to suite the need of collector

now has only 4 public member function:
* link
* clear
* add
* get
@ worker: use collector instead of delta
+ added underscores as names in vim
@ const type@ -> type const@

const type& -> type const&
const type* -> type const*