I just using started xdebug today came across this problem a few ahours ago too. I'd love a cachegrind style gui for xdebug traces.
A lot of the lower level calls contain uneccesary information like strlen() calls. I found that xdebug starts the trace file has 21 spaces for top level calls to functions, 23 spaces for second-level calls, 25 and so on. So you can do is grep out lines with more than 22 or more spaces to list top level calls, 24 for sencond and higher level calls etc.
cat trace.xt | grep -v ' '
The web-based trace parser sounds a good idea. It could parse the output into a bunch of nested ul and li elements that could be collapsed. I'm tight for time too, but if you're up for a collaboration lemme know.