[Form] Allow to extend multiple types in a type extension

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9507
| License       | MIT
| Doc PR        | -

The use case of this PR is to allow to extend all form types with a single type extension. Since the button type does not extend the form one, there is no root type which can be extended.

As pointed in the referenced ticket, I'm not sure what can be done/happened if a type extension extends two types where the first is a child of the second. The problem can become much more complex if we extend more than 2 types...

For the test part, I don't see where I can put them. Someone can give me the good direction?