[spectrum] Avoid zero height bars that cause display artefacts
[rbp/omxplayer] Cosmetic: Avoid DVDPlayer in logging message

It makes people incorrectly think DVDPlayer has been running
[spectrum] cosmetic: Use static where appropriate
[spectrum] Draw spectrum as a single object

glDrawElements is called 256 times per frame, once for each bar. It is more efficient to batch up larger blocks.
This change draws the specrum with a single glDrawElements call.

Looking at visualisation in full screen mode, it used to top out at 75 fps. With this PR it can hit 125 fps.
[rbp/omxplayer] When reencoding thumbnails preserve orientation

Currently reencoded thumbnails are displayed without original orientation flag applied.
However we can write the Orientation field of IFD0 data, which means the cached thumbnail will be displayed correctly when decoded
[rbp] Avoid resizing 1080p fanart

Currently all re-encoded jpgs are resized to multiples of 16 widths and heights.
This causes additional blurring, especially for 1080p (which becomes 1088), as well as subtle aspect ratio errors.

Remove the alignment clamping, and fix up the heights/strides where needed
[rbp] We require the pixels in non-reencoding texture caching

If the direct texture reencode path fails, we do a seperate jpeg decode then encode path, which always fails as the pixels are not available.
Make sure we set the require pixels flag in this case