[Form] Add position support

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #5827 #4254 #3452
| License       | MIT
| Doc PR        | TODO

This PR migrates [egeloen/ivory-ordered-form](https://github.com/egeloen/ivory-ordered-form) into the core. It implements the feature the way @webmozart has explained in #5827. The UPGRADE file needs some love according to the BC promise but first, I would like some feedback :)
We don't need multiple instance of the orderer. I have not realized the resolved form type is instantiate multiple times in a form... The, what would you suggest? Pass directly an `FormOrdererInterface` implementation on the constuctor or create one from the factory inside the constructor?