How about the logic here is split like this:

_resize does something like this:

if (_resizePending == false) {
_resizePending = true;
}

inside _requestAnimationFrame right before onRender is called:

if (time since last onResize call > resizeLimit) {
  call onResize.
}

This avoids using a timeout and lets us control when the onResize gets called instead of the browser (window.setTimeout).

What do you think?