use requestAnimationFrame + cleanup
Add attribution to raf shim