Add support for multiple characters in application grants

I think this should address #131. Backwards compatibility with old consumers of the api.core.info endpoint is maintained by using (in order of preference) the primary character, or the first character alphabetically (well, really whatever the db returns as the first character, I left that undefined) for the info returned by the old API.

I tried to work on the styling of the authorization window, and I think it looks *alright*, but it could do with some more work.

An area I'm still looking to improve on is allowing users to edit existing grants. This means users don't have to revoke and then re-authorize an app just to add (or remove) characters.