Don't leak source caps. Use GST_PTR_FORMAT to log caps, so
we don't need to leak strings from gst_caps_to_string().
No need to use GST_DEBUG_FUNCPTR for vfuncs where the base
class will never look them up (like property getters/setters).
Don't use g_return_*_if_fail() for things that aren't directly
programming errors (by the application developer).
Fixes kate unit test under valgrind.
When Totem switches streams, tiger will be reset, and start receiving
buffers from the middle of the stream, without being sent headers.
If this happens, try to get headers from the caps.
https://bugzilla.gnome.org/show_bug.cgi?id=638004
katedec: Kate decoder (text only)
kateenc: Kate encoder (text and DVD SPU only)
katetag: Kate tagger
kateparse: Kate parser
tiger: Kate renderer using the Tiger rendering library
Fixes#525743.