... there is more to life than background pages in Chrome extensions
Revert "Not buying a lot by using requestAnimationFrame as it's not available on the server side or for Chrome extension background pages.  The behavior of requestAnimationFrame in the background tab is different for different browsers so it's not always predictable insta-savings.  Likewise, setTimeout actually exhibits some of the behaviors of requestAnimationFrame when put in the background.  So, let's just go with compatibility and we can swing back around when we think we need to ease up on the gas."

This reverts commit 1a465b4c820b777e58cae38048521dba0e324711.