Make StTextureCache API GTask-based
This MR refactors StIcon and StTextureCache to use a GTask-based asynchronous API for requesting textures from the cache. Besides the much cleaner API that no longer needs the opacity change to signal the finished request, this allows using a static child-actor for StIcon instead of creating a new one every time the texture is updated, which should increase performance a bit.
The main commits here are 8b9b5e15 and ef6639da, while the last three ones are smaller improvements and bugfixes.