need smarter display of commit graph
while gitg has definitely the best commit graph rendering of all tools i tried, it still becomes basically useless in repos that use gitflow, because of the huge number of branches and merges. an example of that is the git repo itself, in particular gitster's fork on github (which contains all source branches for 'seen').
i'm starting out with the assumption that topological order is used (because #118 (closed)).
the first thing i'd change is that i'd consistently sort the 2nd parents of merges before the 1st, traversing depth-first, rather than sorting by date. that way the merged branch's contents would be always adjacent to the merge commit.
secondly, i'd elide the branch lines much more aggressively.
- if the enclosing nodes are too far apart to fully fit the line into the view, then it makes no sense to have it, as one won't be able to keep track of it anyway (at least without #414, but even with it it's tiresome).
- it probably makes sense to qualify this with "if the line is not straight", which would mostly exclude long-lived branches.
- as a corollary, if the whole elision doesn't fit into view, then its ends should be cut as short as possible.
- one may argue that all this would make following the lines even harder, but this should be compensated for with #415