fn-drawer sometimes doesn't tick closed
fn-drawer sometimes doesn't tick closed

If there is jank, we might not get a frame time that's just after the last
frame, which means we'll stop generating animation frames before hitting 1.0
exactly.

In this CL, we introduce state to takeWhile to cancel the stream after emitting the
1.0.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/975153002

chinmaygarde/mojo,afandria/mojo,chinmaygarde/mojo,afandria/mojo,afandria/mojo,chinmaygarde/mojo,collinjackson/mojo,chinmaygarde/mojo,chinmaygarde/mojo,collinjackson/mojo,chinmaygarde/mojo,collinjackson/mojo,afandria/mojo,jianglu/mojo,collinjackson/mojo,chinmaygarde/mojo,afandria/mojo,jianglu/mojo,jianglu/mojo,afandria/mojo,collinjackson/mojo,jianglu/mojo,collinjackson/mojo,chinmaygarde/mojo,collinjackson/mojo,chinmaygarde/mojo,jianglu/mojo,collinjackson/mojo,jianglu/mojo,collinjackson/mojo,jianglu/mojo,jianglu/mojo,afandria/mojo,afandria/mojo