Small GUI stuff

- Colored virtual packages in the dependency graph
- Hide console window on Windows when running the GUI
- Fixed homepage & GitHub links not updating when GitHub info not present in the module
- Fixed a GUI exception when a suggested or recommended mod was not found during install
Absolutely not a PR blocker, but I wonder if we can somehow factor our progress reporting into a method? It'd be great to see:

`this.ReportProgress("Updating registry", 80)`

Which then calls the `onProgressReport` delegate if we have one, but also does a `log.Verbose()` or similar. That would chop down all the checking for nulls, and also means that command-line users can also access the information.