text: Title: [ENH]: Registering custom markers
  Body: ### Problem
  
  While working on a library to make styles (with custom colors, etc...) I discovered that there is no easy way to register custom markers, unlike for colors and the like.
  I found a workaround digging in `markers.py`:
  ```python
  from matplotlib.markers import MarkerStyle
  ...
  MarkerStyle.markers[marker_name] = marker_name
  setattr(MarkerStyle, f'_set_{marker_name}', lambda self, path=marker_path: self._set_custom_marker(path))
  ```
  which seems to work, and allows to use the new maker in other files as
  ```python
  plt.plot(x, y, marker = marker_name)
  ```
  However, this code is quite clumsy and inelegant!
  
  ### Proposed solution
  
  It would be nice to have a way to specify
  ```python
  MarkerStyle.register(marker_name, marker_path)
  ```
  similarly to [how it is done for colormaps](https://matplotlib.org/stable/api/cm_api.html). 
  
  This would be pretty easy because it could leverage internally `MarkerStyle._set_custom_marker`, which already implements most of the necessary functionality!
  
  If this is welcome, I would be happy to have a go and submit a PR!
  I have found that this is quite nice to drive up the engagement of students to be able to easily play with visuals in this way :)