Add additional crate for element bindings
First step would be to write a code generator for this (maybe based on the metadata used for generated docs by hotdoc?). The element bindings should cover (fallible) creation, properties (considering readability/writability), signals, action signals, custom enums/flags.
Usage of the glib_wrapper!
macro seems useful but unclear how well that would behave with a fallible get_type
function.
Version information for any of the API should be handled like in the other bindings, stuff put behind feature flags.
Elements from gst-plugins-bad should be put behind an unstable
feature flag, core/base/good/ugly handled normally.
Advantage would be that there wouldn't be any stringly-typed API anymore and errors like setting a non-existing property wouldn't have to be handled by the application.