Fix CGUIWindowManager::DispatchThreadMessages() to process messages in order.

in CGUIWindowManager::DispatchThreadMessages(), copy to temp vector and loop method also be used, which will delay left messages in temp vector if SendMessage cause a modal dialog or something init another deeper message loop, then the left messages in temp vector will not be processed until the deeper message loop exit and SendMessage returned, then the messages will be processed delayed and not in order, result is unexpected.

here's similar fix for it like https://github.com/xbmc/xbmc/pull/2167 did.