Fix failing doctest and reorganise CI configuration to have explicit jobs

for docs and optional dependencies.

branch : 3.1
10 jobs for topic/3.1/rich-text-cells in 60 minutes and 4 seconds (queued for 5 seconds)
Name Stage Failure
test-python311 Test The script exceeded the maximum execution time set for the job
    _configtest.c: In function ‘main’:
_configtest.c:7:16: warning: variable ‘test_array’ set but not used [-Wunused-but-set-variable]
7 | static int test_array [1 - 2 * !(((long) (sizeof (npy_check_sizeof_type))) == 8)];
| ^~~~~~~~~~
removing: _configtest.c _configtest.o
C compiler: gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC

compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/include/python3.11 -c'
gcc: _c
Job's log exceeded limit of 4194304 bytes.