[rbp/omxplayer] Restructure COMXImage

Tidy up of COMXImage. Separate into file reading, encode and decode classes with separate locks.
This allows some overlap of functionality which improves the speed.
Merge pull request #3405 from popcornmix/omximagerestructure

[rbp/omxplayer] Restructure COMXImage