buffer: store sequence number for metas

For metas where order might be significant if multiple metas are
attached to the same buffer, so store a sequence number with the
meta when adding it to the buffer. This allows users of the meta
to make sure metas are processed in the right order.

We need a 64-bit integer for the sequence number here in the API,
a 32-bit one might overflow too easily with high packet/buffer
rates. We could do it rtp-seqnum style of course, but that's a
bit of a pain.

We could also make it so that gst_buffer_add_meta() just keeps metas in
order or rely on the order we add the metas in, but that seems too
fragile overall, when buffers (incl. metas) get merged or split.

Also add a compare function for easier sorting.

We store the seqnum in the MetaItem struct here and not in the
GstMeta struct since there's no padding in the GstMeta struct.
We could add a private struct to GstMeta before the start of
GstMeta, but that's what MetaItem effectively is implementation-
wise. We can still change this later if we want, since it's all
private.

Fixes #262
9 jobs for meta-seq in 37 minutes and 49 seconds (queued for 2 minutes and 11 seconds)
latest
Status Job ID Name Coverage
  Preparation
passed #111208
gst indent

00:01:26

passed #111207
manifest

00:00:40

 
  Build
passed #111209
build fedora x86_64

00:06:18

 
  Test
passed #111321
check fedora

00:03:39

failed #111210
check fedora

00:04:45

 
  Full Builds
passed #111211
build android arm64 api28

00:04:19

passed #111213
build cerbero cross win32

00:06:00

passed #111214
build cerbero cross win64

00:07:03

passed #111212
build cerbero fedora x86_64

00:08:21