fix spurious "exit with code 1 due to http error: 1xxx" errors

This fixes #1502 and was introduced in ce6d6cd0f0f86a5b1ff3765aaae357dfdf3be803,
which returned errors above 1000 as a proxy for network errors. However, the
error 5 (i.e. OperationCanceledError) was not handled, which apparently happens
a lot due to parallel loading of resources. We thus ignore this error in the
loader.

In addition, in case the error is greater than 1000, we find out the correct
network error and display that error instead of HTTP error 1xxx which doesn't
exist. The trick to find out the text values for the enum was taken from:

https://blog.qt.digia.com/blog/2008/10/09/coding-tip-pretty-printing-enum-values/