FrameLimiter

constructor(coroutineScope: CoroutineScope, frameMillis: () -> Long, impreciseDelay: suspend (Long) -> Unit = ::delay, currentTime: () -> Duration = { System.nanoTime().nanoseconds })