[rbp] Add streamsilence option for hdmi

This adds a (mostly) dummy audio engine for Pi which supports drain allowing the
stream silence gui option to appear.
The OnSettingsChange callback enables or disables the stream silence on the GPU.

Enabling this keeps the receiver awake, and avoids losing the first couple of
seconds of audio at start of playback.
Requires updated firmware.
[rbp/omxplayer] Replace jpeg parsing with cheaper byte aligned accesses

All the parsing is byte aligned which can be done about ten times faster
than bit based parsing.

Also remove the unused PNG parsing
[rbp/omxplayer] Fix bugs with jpeg parsing

I was finding GetCodingType to sometimes take 200ms for a single jpeg.
That was a mixture of the slow bit oriented parsing, but more significantly some bugs in the parsing.

The SOF blocks skipped the wrong number of bytes, resulting in us parsing junk.
The M_TEM, M_DRI, M_SOI and M_EOI tags when seen (usually due to the junk) can only escape by slowly parsing until end of file.
Also, after a M_SOS, there is the variable sized jpeg block which we can't parse, so best to give up then, rather than misparsing
the remaining jpeg data
[rbp/omxplayer] Detect bitstream corrupt and reject CMYK jpegs

GPU doesn't handle (the very rare) CMYK jpegs, so don't try sending them.