gstreamer: Mark various enums as exhaustive
This reduces their size to 4 bytes instead of 5 bytes, and as such makes
it possible to store them in a register on 32 bit platforms too.
Additionally it makes it possible for enums like
Result<FlowSuccess, FlowReturn>
to be stored in a single register on
64 bit platforms.
Also the conversions between the C and Rust type is a simple copy of the value now instead of a mapping.