Move callbacks to be dispatched on the main queue

Synchronously, so the delegate has the chance to modify the `enabled`
property before another frame is given to the capture controller.