Enhance calibration plots

### Describe the workflow you want to enable

I would like to enhance calibration plots by adding these new aspects:
1. Plot bins as vertical lines in the background.
2. Equal aspect on both axis to have a square figure and enable easier visual comparisons.
3. Changing xlabel from "Mean predicted probability" to "Mean confidence scores" or "Confidence scores" or similar, to avoid confusion between scores output by classifiers and true posterior probabilities.
4. Integrate a visualization of the density to see where the mass is on the calibration curve. This is important as a calibration curve can appear very bad in some part whereas it can be due to a low number of samples in this part, and actually have a good Expected Calibration Error. Several choices are possible as described in the proposed solution section.
5. Edit: add support for multiclass calibration plot by either looking at the class-wise calibration (considering one of the classes as the positive one) or the top-label problem (binarizing the multiclass problem with the prediction taken as the argmax of the confidences, a positive label iff the prediction is right and an associated confidence given by the maximum of the confidences). These are 2 of the 3 definitions of calibration in the multiclass setting.

### Describe your proposed solution

To address the previous points, I propose to:
1. Update `CalibrationDisplay`.
2. Idem
3. Idem
4. Several choices are possible here. Either adding an histogram on each edge as in the figure below. Or adding a single histogram on the confidence scores axis (either on the edge or integrated in the background of the calibration plot) since the density on the "fraction of positive" axis is less informative as the one on the confidence scores axis. This last option might be better. Also, this feature might be restricted to a single calibration curve only as it might become illegible with several classifiers.
5. Edit: This could be done by adapting the `_get_response` to allow y_pred.shape[1] > 2 and either choosing one of the K class as the positive one, or the top-label one.

Should this change be approved, I would be willing to work on it.

Example with histograms on the edges:
<img src="https://user-images.githubusercontent.com/33580936/174766358-56fc2afa-5452-4318-b0cb-18caf1b2a004.jpg" alt="drawing" width="400"/>

### Describe alternatives you've considered, if relevant

_No response_

### Additional context

_No response_

COMMENT:
> I find the histograms plotted on top of each other, harder to interpret.

Yes, I agree. When comparing several (> 2) classifiers, it might be better to plot the histograms on a separate axis as in the example below.

> We can still do this manual thing in examples where we compare many estimators at once.

Especially since the new implementation would enable giving a custom axis for the histogram to be plotted on. Hence, the following code would reproduce the current example in the documentation. The addition is that it is not let to the user anymore to build and plot the histogram.

```python
...
    for i, (clf, name) in enumerate(clf_list):
        row, col = grid_positions[i]
        ax_hist = fig.add_subplot(gs[row, col])
        clf.fit(X_train, y_train)
        display = CalibrationDisplay.from_estimator(
            clf,
            X_test,
            y_test,
            n_bins=10,
            name=name,
            ax=ax_calibration_curve,
            ax_hist=ax_hist,
            color=colors(i),
        )
```
<p align="center">
<img src="https://user-images.githubusercontent.com/33580936/176228304-cd06269f-6045-4b55-85a1-d0d3354d807c.png" alt="drawing" width="600"/>
</p>

Labels: New Feature, module:calibration