There is now a CreateContext method for retrieving a stand-alone context for threaded use.
We may want to add safety against this context being disposed (or just return a fresh one if it is).
Quite regularly a task will hold a reference to a progress notification and udpate it as progress is made. Therefore these operations should be thread-safe.
While it was nice having less projects to deal with, it meant hacks to get around circular dependencies between rulesets and osu.Game. For now, let's just restore the osu.Desktop project and call it a day.
This allows for the project to build again with default visual studio settings.