fix(registry): use TypedDict when python version >= 3.8, otherwise a Dict

- TypedDict is provided by the typing module for python >= 3.8
- TypedDict is provided by the typing_extensions module for typing_extensions >=
  3.7.4

but this module is not available as debian buster package.

- mypy does not support condition types defined like that:

```
if CONDITION:
    type = Dict
else:
    type = TypedDict
```

and therefore it's not possible to conditionally declare the type.

but… it does support checks with python version or system platform (cf:
https://mypy.readthedocs.io/en/stable/common_issues.html#python-version-and-system-platform-checks).

Let's import TypedDict from typing when it's available (python >= 3.8), and use
it. Otherwise, let's use a simple dict.

related #9
11 jobs for topic/default/typing-typeddict in 2 minutes and 4 seconds (queued for 5 seconds)
Status Job ID Name Coverage
  Tests
passed black #117463

00:00:44

passed check-manifest #117462

00:00:42

passed flake8 #117461

00:00:47

passed mypy #117464

00:01:03

passed py3 #117460

00:00:52

 
  After Tests
passed trigger-cubicweb-pipeline

passed trigger-logilab-constraint-pipeline

passed trigger-logilab-database-pipeline

passed trigger-logilab-mtconverter-pipeline

passed trigger-rql-pipeline

passed trigger-yams-pipeline