Redesigned dmlenu to work using dependant_sum by default.
Implemented a beginning of selection.
completion: if we add a char " ", then we check if that kills the completion in which case we complete.
dmlenu: exports run_list.
completion: fixed a bug in remove
Matching: implemented fuzzy matching.
Completion: space has a nicer behaviour.
Several (minor) changes.

Because I forgot to commit between each change.

- run_list now returns a string list, not a string list option
- Sources.add_subcommand now expects a Sources.t Lazy.t instead of a Sources.t
  The startup time of the examples is *much* better.
- I also added some new subsources in "examples/with_subcommands" these are
  specific to my system, but I'm to lazy to create my own dmenu on the side.
  I don't think that will pause a problem to anyone, but if it does let me know
  and I'll revert.
Fixed bug with nested completion sources (as filenames) by providing a new field for candidates: completion.
Completion: fixed a bug with complete.
Dmlenu: gracefully shutdowns the X connection when the completion is done.
completion: fixed completion behaviour.
Sources.switch.
Completion: fixed typo.
Sources: fixed wrong expansion in filename.
Sources: reintroduced ./ expansion.
fix LEFT/RIGHT navigation
display little markers to indicate when some candidates aren't shown