Handle manually given typedefs

This is made necessary at least by the gpointer c:type. The problem
is that its name does not contain any *s, but it represents a pointer
type, so this simple heuristic is not sufficient. A type with the c:type
gpointer may not be treated as a pointer, resulting in functions like
gst_object_unref() being skipped because it is believed to take a struct
by value. This mechanism fixes the issue described.
Fix unrefs in PipelineTest

Now that we have a way to access the necessary unref functions, we
have no excuse for not using them.
Use unref in PlaybinTest as well
Add the pipeline assembling test to the runner
Update the example output