Use G_DECLARE_FINAL_TYPE()
The GObject boilerplate macro's which you need to define a new type can
be quite daunting. GLib added G_DECLARE_FINAL_TYPE()
to mitigate this
in 2.44 already, which is now also a hard dependency of GStreamer. Let's
use this in our advantage to clean up code for people who want to write
GStreamer for the first time.