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 believe the current API allows this and I don't think it would be compatible with your suggestion.

I agree that my suggestion is not compatible for comparing several classifiers with quantile binning on the same calibration plot. Plotting bins of all classifiers as vertical lines, even with colors matching the calibration curve color, would be hardly legible. 

> What would you propose to display the calibration curves of two different models on the same plot with non-uniform (quantile-based) binning?

I think this information could be recovered on confidence histograms that could be stacked.

> I think we should add an option to force the range to [0.0-1.0]
 
In fact bins are already the same when uniform since [`calibration_curve`](https://github.com/scikit-learn/scikit-learn/blob/e88cf7cf659c0d256475b99bde946795683fd16a/sklearn/calibration.py#L1010-L1011) computes bins as:
```python
...
elif strategy == "uniform":
    bins = np.linspace(0.0, 1.0, n_bins + 1)
```

> the points for different models are not vertically aligned.

This is because means of classifiers' confidences in each bin are different.

> I think we should be explicit on which class considered the positive class

It reminds me that it would be great to add support for multiclass calibration curve (either by looking at the top-label problem or the class-wise problem). 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. I edited the suggestion.
In this case, the choice of the positive class might be better indicated in the legend instead of the x-axis as we could compare several classes of the same estimator on the same plot.


Overall, I think it is important to add confidence histograms (on x-axis) directly on the calibration plot as it modulates the message given by the calibration curve (in case of bins with few samples) and users might not think to build the histograms themselves. If several classifiers are plotted, histograms could be either stacked or disabled.

Labels: New Feature, module:calibration