untested merge of my variant and KrofDrakula's
untested merge of my variant and KrofDrakula's

marcinkrawiec/requestAnimationFrame,marcinkrawiec/requestAnimationFrame,darius/requestAnimationFrame,darius/requestAnimationFrame,Nexxa/requestAnimationFrame-Polyfill,Nexxa/requestAnimationFrame-Polyfill