状态管理逻辑：
- 滑动窗口
维护一个滑动窗口history，记录最近end_bounce_time内的状态。
状态包括：时间,浓度,状态,当前截图

- 进入
1. middle: predictor返回middle立即进入slow状态。
2. about: 返回about，且处于middle则进入about状态
3. end：返回end，置end_check标记开始检查

- check
1. middle: 进入middle的bounce_time后，在最近bounce_time内middle比例<70%返回fast状态。
2. about：随着middle退出一起退出，不单独处理
3. end：进入end之后的end_bounce_time，如果end_bounce_time内end比例<80%，则实验终止逻辑。否则从history中找到第二个end并继续check逻辑。