Playback control with 3 button (cable) headset

We already have a proof-of-concept that works. The hard part is to make the code easy to understand, so that it can be maintained more easily. Also, the settings should be understandable by users.