Use next tick

`sinon.useFakeTimers` broke tests for some reason, so I used `setTimeout` instead.

In my opinion we don't need attachEvent support. Let's remove it from the project.
Shit browsers should use a slow setTimeout.

Thus, the size of the function can be reduced in 2-3 times.