Fixed remote bug (screen rotate = no keyup event)

The button_up event was not being sent to XBMC after a screen rotate in the remote.
Also, the timer for setting_send_repeats mode was not canceled after a
screen rotate, causing it to run indefinitely. Fixed by remembering the
current button being pressed, cleaning up the KeyPressTask, and sending
button_up events where appropriate.