Fix (another) infinite-scroll issue.
Fix (another) infinite-scroll issue.

Steps to reproduce:

- Press and hold `j`.
- Tab `k`.
- Release `j`.

The tap on `k` is uninstalling the `cancelEventListener` installed by
`j`, and because we advance `@time`, the `j` stops scrolling and
removes the `cancelEventListener` installed for `k`.  So we end up with
no `cancelEventListener` installed.

The fix is to make the `cancelEventListener` specific to the scroller
instance.

The more fundamental problem here is that we're mixing dynamic and
static state.  A better approach would be to have `CoreScroller` as a
class, with a new instance created for each scroll instance.

poacher2k/vimium,smblott-github/vimium,mrmr1993/vimium,poacher2k/vimium,gdh1995/vimium,philc/vimium,gdh1995/vimium,gdh1995/vimium,philc/vimium,philc/vimium,mrmr1993/vimium,decaffeinate-examples/vimium,mrmr1993/vimium,smblott-github/vimium,poacher2k/vimium,decaffeinate-examples/vimium,smblott-github/vimium,decaffeinate-examples/vimium