"Error: Grant: mount session middleware first" when using state transport
I'm getting the following error when using the `state` transport.

```
Error: Grant: mount session middleware first
```

I'm specifically using the `state` transport to avoid using a `session` provider. Why is grant requiring session middleware?

Here's a minimal reproducible example.

```js
const express = require('express')
const grant = require('grant').express()

express()
  .use(
    grant({
      defaults: {
        origin: 'http://localhost:3000',
        transport: 'state',
      },
    }),
  )
  .get('/', (req, res) => {
    res.send('<a href="/connect/twitter">Sign In with Twitter</a>')
  })
  .listen(3000)
```