Execute a callback asynchronously in an idle callback
The priority argument for this can be a bit misleading when mixed with execute and execute_background. When a callback is queued with this method it will be sent to the main loop in order based on priority and the time it was added, but when the callback is actually executed will then be controlled by the GLib Main Loop. It will, however, be executed in the proper order relative to any other callbacks which have already been sent to the main loop.
the callback to execute
optional cancellable for aborting the operation