text: Title: Add optional typed base class for dynamic library API
  Body: The main benefit would be automatic method name completion and type validation provided by IDEs.
  
  Usage would be something like this:
  ```python
  
  from robot.api import DynamicLibrary
  
  class Library(DynamicLibrary):
      ...
  ```
  The base class should have all mandatory and optional dynamic API methods with appropriate type information and documentation. The mandatory methods should `raise NotImplementedError` and optional should return dummy information that's equivalent to not having these methods at all. We could also add a separate base class for the hybrid API although it only has `get_keyword_names`.
  
  This is so easy to implement that I believe it could be done already in RF 6.1. The hardest part is deciding what the class name should be and should it be imported directly from `robot.api` or somewhere like `robot.api.libraries`, `robot.api.interface` or `robot.api.base`. A separate submodule could make sense if we add other similar base classes.