[console] makes descriptors use output instead of returning a string

This PR changes `DescriptorInterface::describe($object, array $options = array())` method signature to `describe(OutputInterface $output, $object, array $options = array())` and all subsequent implementations.

It's now possible to use helpers inside descriptors.
That was not easy!

@lyrixx this is all for you
@fabpot I just added one new class

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8371