ENH: Add overlay_dx_score metric for regression evaluation

### Describe the workflow you want to enable

## Current Problem

When evaluating regression models, especially for time series forecasting, existing metrics (MAE, RMSE, R²) don't capture how well predictions align visually with actual values across different tolerance levels.

## Desired Workflow
```python
from sklearn.metrics import overlay_dx_score
from sklearn.model_selection import cross_val_score

# Simple evaluation
score = overlay_dx_score(y_true, y_pred)

# Cross-validation with custom scorer
from sklearn.metrics import make_scorer
scorer = make_scorer(overlay_dx_score)
scores = cross_val_score(model, X, y, scoring=scorer, cv=5)

# GridSearchCV
from sklearn.model_selection import GridSearchCV
grid = GridSearchCV(model, param_grid, scoring=scorer)
grid.fit(X, y)
```

## Use Cases

1. Time series forecasting evaluation where visual alignment matters
2. Scenarios where outlier sensitivity of MSE/RMSE is problematic
3. Understanding prediction quality at multiple tolerance levels
4. Model selection when alignment is more important than absolute error


## Proposed Implementation

Add `overlay_dx_score()` function to `sklearn.metrics`.

### Function Signature
```python
def overlay_dx_score(y_true, y_pred, *,
                     sample_weight=None,
                     multioutput='uniform_average',
                     max_percentage=100.0,
                     min_percentage=0.1,
                     step=0.1):
    """
    Overlay DX metric for evaluating regression predictions.
    
    Measures alignment by computing area under curve showing percentage 
    of predictions within tolerance intervals of varying sizes.
    
    Returns float between 0 and 1, higher is better.
    """
```

### How It Works

1. Define tolerance intervals as percentages of the data range
2. For each tolerance level, compute percentage of predictions within tolerance
3. Calculate area under the resulting curve
4. Normalize by maximum possible area

### Mathematical Formula
```
overlay_dx = A / A_max
```

where:
- A = area under the overlay percentage curve
- A_max = maximum possible area (max_percentage × 100)

### Key Features

- Supports `sample_weight` (sklearn standard)
- Supports `multioutput` regression
- Less sensitive to outliers than MSE/RMSE
- Provides interpretable score (0 to 1 range)

### Implementation Details

- Pure NumPy implementation, no external dependencies
- Vectorized operations for efficiency
- Follows sklearn API conventions
- Complete numpydoc documentation
- 95%+ test coverage ready

## References

- Repository: https://github.com/Smile-SA/overlay_dx
- Currently used internally for time series forecasting evaluation
- Compatible implementation exists: works with cross_val_score, GridSearchCV, Pipeline

### Describe alternatives you've considered, if relevant

_No response_

### Additional context

_No response_

COMMENT:
Thanks for the info, I would suggest starting with publishing your package on PyPI.

In a few years, if there is sigificant interest and we believe this is a good fit for scikit-learn, we may revisit this. For now I am going to close this because it does not match our inclusion criteria.

You may also want to look at other packages whose core functionality is forecasting and whether they would be interested by this metric.

See also the [metaphor of a contribution as a puppy](https://snarky.ca/setting-expectations-for-open-source-participation/#submittingacontribution) from Brett Cannon's talk "Setting expectations for open source participation". The whole article is very good and you have a [video](https://youtu.be/tzFWz5fiVKU?t=48m55s) that goes with it.

Labels: New Feature, Needs Info