Use requestAnimationFrame with fallback

Now uses requestAnimationFrame instead of an arbitary timeout.
Falls back to _.delay(render,0) if unsupported.

This should improve the performance and the visual smoothness of view transitions.