[rbp/omxplayer] Add wait for buffers done calls
[rbp/omxplayer] Handle timeouts greater than a second
[rbp/omxplayer] Callback context pointer is not needed once in the class
[rbp/omxplayer] Avoid state change when already in loaded
[rbp/omxplayer] Remove warnings from event logging calls
[rbp/omxplayer] Add more event logging
[rbp/omxplayer] Signal bad state on decode error

Also abort timeouts early when in bad state
[rbp/omxplayer] We should block until all buffers are released
[rbp/omxplayer] Load OMX dll just once

On Pi xbmc isn't usable without OMX (used for video, audio, image encode and decode),
so rather than loading dll with every component, just load it once at initialisation and assume it's there
[rbp/omxplayer] Reset more state variables on Initialize

The component shouldn't remember any state from before the Initialize
Merge pull request #3384 from popcornmix/omxcorecleanup

[rbp/omxplayer] OMXCore tidying