TracDiff: refactored the Diff._render_html method to do everything in one pass.
Previously, the nodes where stored and this would cause a
''Too many files opened'' system error for big differences
(each node consumes a file, at least with the FSFS backend).