gallium/tools: reimplement trace differ in Python and other improvements
The limitations of current approach for Gallium trace diffing via 'tracediff.sh' are becoming all too apparent, as we are first dumping both trace to text and performing plain line-based sdiff on them.
This obviously loses the context of calls and sometimes results in confusing diffs when subsequent calls are similar enough. It also prevents us from formatting the diff output in ways that would benefit readability.
In attempt to rectify the situation, reimplement the diffing completely in Python, using difflib and adding the necessary plumbing into the trace model objects etc.