threading: add IdeTask as basis for new tasking design
We are going to have to move away from GTask, at least in the short term because it cannot provide some fundamental ownership and life-cycle guarantees we require. This is the start of a new IdeTask replacement which allows us to ensure that task data, source objects, and results are finalized only within the GMainContext attached to the task. It also starts adding some new convenience API that we want for propagating results between multiple tasks.
Showing with 2926 additions and 0 deletions