lhorie/mithril.js — pull request #253 by zzmp (2014-09-17 21:30:26+00:00)
Title: Fix redraw infinite delay

This fixes #252 to prevent spamming of `m.redraw` on browsers not supporting `requestAnimationFrame` from inifinitely delaying the actual redrawing.
It does so by chaining up to one redraw to the current delayed function, using a boolean (`redrawAgain`).

In order to do this, the mock `requestAnimationFrame` was rewritten to allow its callback to register another callback for the next frame.
This rewrite was done in a separate commit, d14306a, to ensure no tests were broken.

Lastly, a teardown was added to the test on line L1457 of mithril-tests.js to clear the callbacks from the `requestAnimationFrame` mock.