High Priority
-------------

* Options: They should be typed, and scoped. An option should be global,
           buffer local, or window local. there should be a way to specify
           which locality an option support.

* Encoding: Support different encoding, decide how to store buffer content
            implement encoding conversions.

Medium Priority
---------------

* tweak editing model, some behaviours are not intuitive, maybe a line
  wise mode will be needed after all.

* highlighters and filters groups. So that many different highlighters
  (for example syntax highlighting for a language) can be handled as one.

* Write a MemoryView class and port const vectors parameters to memory
  views in order to avoid useless memory copies.

* History support for commands, search pattern...

Low Priority
------------

* Data driven syntax highlighter.
* client server separation
* write a real BufferContent backend. Currently it's std::string...