Use `Function.prototype.apply` to call `setTimeout` on older IE

In older IE, the host object like a `setTimeout` has no methods that
defined in `Function.prototype`.
Fix test for setTimeout with negative wait for older IE
Merge pull request #2558 from tricknotes/fix-test-about-setTimeout

Fix test for setTimeout with negative wait for older IE