Optimizations to the graph algorithm:

Got rid of recursivity in AddCommitsToGraph and HighlightCommits.
Note: The KeyValuePair is preferred to Tuple in this case. We're doing alot of allocations.
Fixed an issue with graph building that caused double rendering.
Fixed a logic issue with setting algorithm type.
Fixed up how algorithm is set, so the graph itself has it set.