text: Title: Implement catchable WebsocketClosed
  Body: See #2220
  
  In v21.9, a new `WebsocketClosed` exception was added.
  
  While you can to do the following:
  
  ```python
  @app.websocker("/")
  async def handler(request, ws):
      try:
          ...
      except asyncio.CancelledError:
          print("connection closed")
  ```
  
  We would like to add support for this pattern:
  
  ```python
  @app.websocker("/")
  async def handler(request, ws):
      try:
          ...
      except sanic.exceptions.WebsocketClosed:
          print("connection closed")
  ```