Permissions UI

Among other things, fixes #482 and #450.
Why is this change necessary?