Simple virtualized list

[code]
        const io = new IntersectionObserver(changes => {
          for (change of changes) {
            if (change.isIntersecting) {
                addContent(change.target)
            } else {
              clearItem(change.target)
            }
          }
        }, { root, rootMargin: '40px 0px'})
        $$('li').forEach(li => io.observe(li))