Interface IIcon is unstable.
## About this issue
The IIcon parameter of the Image composable is unstable, which leads to unnecessary recompositions.
The IIcon interface is immutable, as all icons that inherit from it are immutable. However, Compose cannot derive the stability of the interface itself, leading to the composable being non-restartable / non-skippable. 

IIcon is widely used in our project because of the api of the `Image` itself, and in our efforts to optimize performance, we discovered that the composables are recursively unstable because of us passing the IIcon everywhere.
How can we solve this problem? 
I'm thinking about something like a wrapper value class that is going to be marked as `@Immutable`. 

```kotlin
@JvmInline
@Immutable
value class StableIcon(val icon: IIcon)  /* : IIcon by icon */

val IIcon.stable get() = StableIcon(this)
``` 

## Details
-  Used library version 5.1.0
-  Compose 1.6.0-alpha01
