improved raf.js