rtspsrc: refactor payload handling
rtspsrc: Add support for multiple payload types

A media stream can have multiple payload types. Parse all the payload
types and collect the caps information. We then have to store the
pt<->caps mapping instead of 1 pt and 1 caps.
Parse the profile from the SDP and use that to negotiate the transport
instead of always using AVP.
Rework how we do some tweaks for ASF and Realmedia.
avidemux: do not try to add a tag with tag_name set to NULL

This can happen if there are subtitles in the stream, leading to
an assertion
avidemux: expose xsub as a subtitle instead of as a video

It is placed inside a 'vids' struct, so it was being exposed on
a pad named video_%d. XSUB are subtitles and this patch adds
an special case for it to be exposed in a subpicture_%d pad