Deletes a task from the scheduler by the specified `context'.
It is safe to call this function in any place. Tasks may be removed
in task callbacks (including in the task's own task callback) and
in multi-threaded environment in other threads as well.