Improved Engine Run Loop using cAF

This commit improves the Engine.js run loop using cancelAnimationFrame.

This is basically a cleaner rewrite of a similar pull request on `famous/core` (deprecated). More info here:
https://github.com/Famous/core/pull/54