Add ControllableAnimatedTexture as subclass of Texture
ControllableAnimatedTexture is an alternative to AnimatedTexture, which allows user to provide function which will return proper image index for each frame from AnimationChanel.
Class signature:
class ControledAnimationTexture(defaultChannel: AnimationChannel, var animationDriver: (Double) -> Int) : Texture(defaultChannel.image)
In order to check that animationDriver returns correct image index, it is neсessery to add readonly property numFrames to AnimationChanel, which returns number of frames in AnimationChanel.
To successfully close this issue, PR must also provide tests and usage example
Linking https://github.com/AlmasB/FXGL/discussions/1173 for more ideas to go with this feature