Improve resilience of volume change.

Building on the previous fix for the audio volume jumps experienced
when switching tracks, this adds a double check that the underlying audio
layer has actually set the volume to the new value. This may fail because
the COMXAudio object it not yet initialised.

If there is a failure, then the volume change is retried in the next
iteration of COMXPlayer::Process().
Merge pull request #2909 from sgebbie/master

[rbp/omxplayer] Volume Jump Fix
[rbp/omxplayer] Fix build error from #2909

(sorry should have spotted this)
Merge pull request #2910 from popcornmix/fix_volume_fix

[rbp/omxplayer] Fix build error from #2909
Fix memory leak and a failed ASSERT under win32 Debug build. A string was being double-strdup'ed, causing delete[] to fail when deleting the copy from the different heap instead of the local one.

Tracking down the assert to dbgheap.c gives the following message:
> a bad pointer has been passed in. It may be totally bogus, or it may have been allocated from another heap. The pointer MUST come from the 'local' heap.
virtual russian keyboard layout
Merge https://github.com/xbmcfm/xbmc virtual russian keyboard layout