grass.jupyter: fix TimeSeriesMap layer rendering
Addresses #5304. It required larger changes, moving more code to the BaseSeriesMap class.
It also fixes rendering vector time series and newly enables to pass d.rast/d.vect variables to TimeSeriesMap.add_raster_series/add_vector_series for symbology.
I tested it with the doc/examples/notebooks.
If you want me to review it, I can try tomorrow on a full computer, it's hard to follow the context only on mobile. If anyone else wanted to take a look instead it's fine too.
If you want me to review it, I can try tomorrow on a full computer, it's hard to follow the context only on mobile. If anyone else wanted to take a look instead it's fine too.
To properly test it, you need to run some of the example notebooks, but maybe you don't need to do that, I tried to test it.