Update README wrt. anonymous users
Move implementation into a new module

`permission` is exported; not sure if other objects should be.
Add a class-based permissions registry

This is similar to the existing implementation, but the registry is
contained within a class, which has a number of advantages.

TODO: It might be a good idea (so there aren't two similar sets of
code) to rewrite the existing implementation to use a class-based
registry internally while exposing the same API.