text: Title: Add optional typed base classes for listener API
  Body: Issue #4567 proposes adding a base class for the dynamic library API and having similar base classes for the listener API would be convenient as well. The usage would be something like this:
  ```python
  from robot.api.interfaces import ListenerV3
  
  class Listener(ListenerV3):
      ...
  ```
  
  The base class should have all available listener methods with documentation and appropriate type information. We should have base classes both for listener v2 and for v3 and they should have `ROBOT_LISTENER_API_VERSION` set accordingly.
  
  Similarly as #4567, this would be easy to implement and could be done already in RF 6.1. We mainly need to agree on naming and where to import these base classes.