Dark mode doesn't render some icons correctly at the moment and in an effort to get an update Quickgui release out light mode the temporarily the only theme.
Since Quickemu 4.9.3 quickget downloads everything except Ubuntu daily images with curl, via the web_get() function internal to quickget.
This change adapts the progress parsing to curl's progress output and accounts for a bug in quickget where it stopped reporting if wget/curl is the external download tool.
This fixes the following CI failure:
```
Note: intl is pinned to version 0.18.1 by flutter_localizations from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.
Because every version of flutter_localizations from sdk depends on intl 0.18.1 and quickgui depends on intl ^0.19.0, flutter_localizations from sdk is forbidden.
So, because quickgui depends on flutter_localizations from sdk, version solving failed.
```
Rather than waiting for the OS list to load, when the app starts, the
loads them in the background, and only waits if we reach the list of
available downloads without them loaded yet. In this case, we use a
FutureBuilder to display a loading spinner until the list is ready.
This fixes the loading of OS icons so they are correctly replaced with a
generic computer if no matching icon is found.
It also centralises the loading process so it happens once during app
initialisation, and displays the corresponding icon next to each VM on
the manager screen.
This is a big improvement over what we had before and relies on the
theme to provide dark mode rather than manually checking brightness each
time we pick a colour.
The buttons in the primary container aren't quite right, I'm not sure
why.
process_run provides a nice wrapper for which, and shows the command an
output in the debug log so provides easier debugging of issues invoking
external commands.