[WIP] [Console] Descriptors Implementation

:warning: Work in progress...

# Overview

Implementting the `Descriptor` conception of @jfsimon 

| Q                    | A
| --------------------- | -
| Bug fix?          | no
| New feature?   | yes (refactoring)
| BC break?       | yes
| Deprecations? | no
| Tests pass?    | no (will be fixed)
| Fixed tickets   | [#6339](https://github.com/symfony/symfony/pull/6339)
| License           | MIT

# Progress

- [x] `Command` in `txt` format;
- [x] `Command` in `xml` format;
- [ ] `InputDefinition` in `txt` format;
- [ ] `InputDefinition` in `xml` format;
- [ ] `Application` in `txt` format;
- [ ] `Application` in `xml` format.

# BC breaks

The following **public** methods don't exist anymore:

 * `Command->asText()`;
 * `Command->asXml()`.

The following **protected** method has been made **public**:

* `Command->getNativeDefinition()`.

# Related Issues

The [issue #6339 about markdown format](https://github.com/symfony/symfony/pull/6339) should be rebased on this work, once stabilised.