[IOS] Fix keyboard not show bug if it was canceled before it did show.
On ios4 with ipad, found that the ios will not send the keyboard did hide
notifaction if the keyboard was canceled before the keyboard did show.
So fix this by trace the keyboard show state, and delay deactivate action
until keyboard did show.
Move the reset code for finished event into ui thread.
when we are using bluetooth keyboard, there is chance the doDeactivate
method be called before the finished event reset in xbmc thread.
Merge pull request #2271 from ulion/ios_fix_keyboard_not_show_if_was_canceled_before_show

[IOS] Fix native keyboard not show if was canceled before it did show