Giant refactor to replace the multicolumn message list with a XUL tree - this is needed so we can get the column of a click (to tell if you clicked on a start) but it has other benefits, like the fact that the UI will now auto-update when data changes.