Placeholder object permissions

This PR adds object level permissions check to `Placeholder` model.

Its behavior regarding model level permissions has remained the same as before, but now if there is a object level permission backend defined in a project it will be evaluated, also. In this implementation permission on a placeholder is given if the same permission is given on all attached objects *or* their models.

Placeholder permission tests are refactored (dry-ed) and there are also new object level tests. Since they are based on `django-guardian` as object level authorization backend, this app is included in test `INSTALLED_APPS` and in test requirements, also.