Implement queueing solution for desktop wallpapers

Implementing a queue allows the code to download resources
while the main thread cycles the backgrounds instead of the main
thread downloading the image when it needs to cycle the
resource.