Waits for the next frame. Returns a Future containing the time elapsed between frames (in seconds) This method needs to be implemented in subclasses
Future
@override Future<double> nextFrame() async => 0;