Yes! My team came to the same conclusion and are in the process of building just such a library for our platform.
- Actor - who is performing an action
- Policy - what types of possible actions are permitted on a resource for a type of actor
- Permission - actions an actor has been granted to perform.
With the intersection of these three objects you can determine if an action can be performed and actors can be granted granular access.