Refactored IR decoding into the ISR
Minor tweaks
Back to 4khz
Refactored common code out into functions
Much better keypress/repeat handling