vdpau.h: define a more strict ABI policy

Because structures defined in vdpau.h may be used outside of the libvdpau
interface itself, it's important for them to not change, even to add new fields
to the end.  Clarify this by tightening the restriction on how structures can be
modified.

This means that we can also *relax* the restriction on versioned structures that
says that they can only be extended by adding fields to the end.  As long as
uint32_t struct_version is the first field of the structure, the implementation
can look at that to determine the complete layout of the rest of the fields.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Christian König <christian.koenig@amd.com>