- Arguments are now grouped in a new `PageData` NamedTuple, making it simpler to use, and
easier to extend.
- Page index is automatically calculated, and can be checked in callback to know which
page to show.
- Form send by calling entity is automatically parsed, using original form to instantiate
the right field types.
- A new `DataForm.get_field` method use Generic type as second argument to retrieve the
right field when getting a `submit` form.
- Updated all classes registering Ad-Hoc commands to use the new system and simplify the
code.
- Ad-Hoc callbacks now receive only a `client` and a `page_data`.
- `page_data` keep all important data useful to process current page in a namedtuple.
- Submitted form is automatically parsed, so callback just has to check the data from there.
- Page index is automatically handled, so the handling by callback is no longed needed.
- Session data is now splitted in 2 dict: private for `AdHocCommandHandler`, and public
for the callback.
Pydantic models are now used for Ad-Hoc commands callback data. The `AdHocCommand` model
can (de)serialise the callback by using its import string.
This change has several benefits:
- better data validation.
- the serialisation mechanism will make communication with frontends easier.
- open the door for automatic documentation.
rel 465