Support Flakey Devices

I've got two devices here that these two commits address.

The first is a headset that alternates between sending play and pause using the same button. The easy solution is to send a play/pause event for either the play or pause button.

The second is a keyboard which, for whatever reason, sends two key events for the play/pause key. So I'm rate limiting the events to solve this.