permissions: switch from explicitly passing queue controller to callbacks
Explicitly passing a raw QueueController object is extremely bad design
as it leads to inflexibility plus questions about lifetimes and ownership
of the pointer.
Moreover, with the new multiple permissions work, queue controller is
disappearing so using a callback means its replacement can be dropped
in without any modifications to the delegates.
This CL depends on https://codereview.chromium.org/
1343553003/
This CL is also a part of a group of CLs:
(1) https://codereview.chromium.org/
1332293002 (this)
(2) https://codereview.chromium.org/
1337903002
(3) https://codereview.chromium.org/
1332063003
BUG=516626
Review URL: https://codereview.chromium.org/
1332293002
Cr-Commit-Position: refs/heads/master@{#349151}