more flexable, uses raf by default if possible
cleanup
1.0.0