## Is your feature request related to a problem?

We currently load the "time conversion bins" funnel view [in two steps](https://github.com/PostHog/posthog/blob/cfd7e586ac144a0fb6c18f90a1657db9897d033a/frontend/src/scenes/funnels/funnelLogic.ts#L164):

```js
const result = await pollFunnel<FunnelStep[] | FunnelStep[][]>({
    ...apiParams,
    refresh,
    // Time to convert requires steps funnel api to be called for now. Remove once two api's are functionally separated
    funnel_viz_type:
        filters.funnel_viz_type === FunnelVizType.TimeToConvert
            ? FunnelVizType.Steps
            : apiParams.funnel_viz_type,
})

if (filters.funnel_viz_type === FunnelVizType.TimeToConvert) {
    const binsResult = await pollFunnel<FunnelsTimeConversionBins>({
        ...apiParams,
        ...(refresh ? { refresh } : {}),
    })
}
```

## Describe the solution you'd like

I'd like to make just one query. This makes caching dashboard results much easier.


#### *Thank you* for your feature request – we love each and every one!

ee/clickhouse/queries/funnels/funnel_time_to_convert.py
steps_per_person_query = self.funnel_order.get_step_counts_query()
        self.params.update(self.funnel_order.params)
        
        
        from_step = self._filter.funnel_from_step or 0
        
        to_step = self._filter.funnel_to_step or len(self._filter.entities) - 1
        
        bin_count = self._filter.bin_count
        if bin_count is not None:
            
            if bin_count < 1:
                bin_count = 1
            elif bin_count > 90:
                bin_count = 90
            bin_count_identifier = str(bin_count)
            bin_count_expression = None
        else:
            
            bin_count_identifier = "bin_count"
            bin_count_expression = f"""
                count() AS sample_count,
                least(60, greatest(3, ceil(cbrt(sample_count)))) AS {bin_count_identifier},
            """
        if not (0 < to_step < len(self._filter.entities)):
            raise ValidationError(
                f'Filter parameter {FUNNEL_TO_STEP} can only be one of {", ".join(map(str, range(1, len(self._filter.entities))))} for time to convert!'
            )
        steps_average_conversion_time_identifiers = [
            f"step_{step+1}_average_conversion_time_inner" for step in range(from_step, to_step)