mpegtsdemux: Fix sticky event handling

When we receive sticky events from upstream, always return TRUE.

Fixes the issue where we receive custom sticky events (such as "uri")
and no pads are created yet.
speed: Fix position query some more

Forgot to remove code in 16fd917632c0992349ca28cf9108e9562c493ad7

CID #1139677
gdp: don't print already-freed string

CID 1221987
mpegtspacketizer: Handle early PTS conversion

When handling the PTS/DTS conversion in new groups, there's a possibility
that the PTS might be smaller than the first PCR value observed, due to
re-ordering.

When using the current group, only apply the wraparound correction when we
are certain it is one (i.e. differs by more than a second) and not when it's
just a small difference (like out-of-order PTS).

https://bugzilla.gnome.org/show_bug.cgi?id=731088
mpegtspacketizer: Fix duration evaluation in push mode

When working in push mode, we need to be able to evaluate the duration
based on a single group of observations.

To do that we use the current group values
mpegtspacketizer: Fix debug statement
tsdemux: Remove unused variable

The seeksegment was no longer used since the switch to calculating segments
when we see data.
mpegtspacketizer: Use first group for handling reference pcr

If _set_current_pcr_offset gets called after a flushing seek, we ended
up using the current group for delta calculation ... whereas we should
be using the first group to calculate shifts.

Also add an early exit if there are no changes to apply
channelextract: add element to extract color channels
use enums for channels. transform not in place. use GRAY8 as output