Use on() and off() instead of one()

`one()` only removes the handler for the event type that triggered it,
so the handler can still get triggered by another event.

we need to remove the handler for all events, so use on() and off().
Use unix line endings

`^M`s are an eye sore
Update version to 1.2.4