Commit Briefs
rewrite the keybindings management
use a table to define all the keys and split actions into separate functions. It's cleaner to support multiple keys bound to the same action this way (like for e.g. PAGE_DOWN and C-v.)
handy DEBUG variable
really handy for things like make DEBUG='-O0 -g' or to decomment it during development.
rewrite spawn to use varargs
it's seems neater than packing an array on the spot, we just do that inside spawn before calling execvp. If we get too many arguments, just abort. This also changes how the forking is handled: I set RVSEL only for the child and call disable_handlers() and endwin() preemptively to avoid possible races with our children.