text: Title: `Async for` can be used to iterate over a websocket's incoming messages
  Body: **Is your feature request related to a problem? Please describe.**
  
  When creating a websocket server I'd like to use `async for` to iterate over the incoming messages from a connection. This is a feature that the [websockets lib](https://websockets.readthedocs.io/en/stable/) uses. Currently, if you try to use `async for` you get the following error: 
  
  ```console
  TypeError: 'async for' requires an object with __aiter__ method, got WebsocketImplProtocol
  ```
  
  **Describe the solution you'd like**
  
  Ideally, I could run something like the following on a Sanic websocket route:
  
  ```python
  @app.websocket("/")
  async def feed(request, ws):
      async for msg in ws:
          print(f'received: {msg.data}')
          await ws.send(msg.data)
  ```
  
  **Additional context**
  [This was originally discussed on the sanic-support channel on the discord server](https://discord.com/channels/812221182594121728/813454547585990678/978393931903545344)