Implements the permissions API

I'm thinking it might be better to make Permissions.request be a non-static function, but I'm unsure how dart-y that would be, so I left it as stattic in the same vein as the USB api.