Pass contexts as Proc objects.

Add the possibility to pass the conext of
a `ControllerPermission` as  `Proc` object
that will be evaluated when the permission
is evaluated.

That way we can define `filter_access_to` directives
in a parent class and the context can be evaluated
with the subclassing controller in regard.