You can check permissions for the currently authenticated user using Identity.hasPermission(). If you want to check whether another user has permissions for an object, you need to iterate through the list returned by PermissionManager.listPermissions(Object) manually.
Yep, seems like a quite proper way to do it.
You didn't plan to make any method to do it?
Would you have an idea about how to retrieve all the permission a principal has?
Doesn't seem like a right idea to do that manually, since it could be quite ugly, having to parse the actions and so on.