Respect the mainline of the merges

Normally the 1st parent of a commit is the branch we're merging _into_,
so if you keep this on the left then you can always read a merge as
right-to-left. Previous it seems to be a bit random.

By comparing the position a 'lane' in the 'lanes', the earier a lane is
created, the more priority it has.
Use the same color for every long-runing lane
Merge branch 'feature/respect-merge-mainline' into develop
Merge branch 'master' into develop
Fix #699585, Add a "Refresh" menuitem to refresh the repository
Merge branch 'feature/fix-bug-699585' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Fix #699135, use the first element in the 'get_windows()' result

The result of 'get_windows()' is in most recently used order, so the
first element is the one we need.
Merge branch 'feature/fix-bug-699135' into develop
Merge branch 'master' into develop
Remove extra spaces at the end of line
Fix #700542, reinitialize the repository while reloading
Merge branch 'feature/fix-bug-700542' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop
Merge branch 'master' into develop