and fixed the test because of new DI letting it fail
Fixes up deserializing.
Plus a lot more implementation.
- Only show failure if request wasn't cancelled
Was missing an osu! logo
Depends on https://github.com/ppy/osu-framework/pull/1186.