Added the scaffolding that will allow us to change uitask on Windows to take a func(). Right now it accepts both; this will allow me to do piecewise conversion.
Migrated dialog_windows.go to use func() for uitask.
Made the new dialog_windows.go not hang up uitask.
More TODOs.
Upon further examination, my dialog_windows.go problems seem to be specific to dialog_windows.go...
Revert all changes to dialog_windows.go because it's interfering with my fixup of sysdata_windows.go.
groan
Made sysdata_windows.go send func()s to uitask and not uimsgs. This is also more correct, as multi-step processes happen in one homogenous blob instead of in steps spread across two goroutines.