fixed the string descriptor send to host more than actual
more deterministic on timer

If two timer will timeout at the same tick, the one started later will
be called later. I've tested the patch on simulator and it _seems_ OK.

Reported-by: xdzy on the forum and delin17 <delin17@qq.com>
Merge pull request #16 from grissiom/fix-timer

more deterministic on timer
Merge pull request #14 from heyuanjie87/ForPullRequest

fixed the string descriptor send to host more than actual