Rewrite/cleanup of TOC tree code
Rewrite/cleanup of TOC tree code

Most significantly, this allows parse errors to make files show up as red (meaning they couldn't be parsed), and it allows us to display files that aren't Go files (README, various other text files, etc).

nelsam/gxui_playground,nelsam/vidar,Kvaz1r/vidar