v4l2: add format negotiation and OpenBSD support

Changes are:
 * `libv4l2` is not required for proper operation any more
   (it is still desirable, as it guarantees that librem-supported format will
   be available);
 * `v4l2` module now iterates through the list of available formats and settles
   on first one supported by librem;
 * if `libv4l2` is present, baresip will try to use native format and fall back
   to emulated one only if no usable combination found.