Prevent same state from handling same event multiple times

This fix is the same as that fixed by mlcohen in sproutcore-statechart:

https://github.com/emberjs-addons/sproutcore-statechart/pull/13

https://github.com/FrozenCanuck/sproutcore-statechart/commit/e8cfe5493d588ee90c3332d495be3bb1a3390930