clients: support 'shared' buffers for dmabuf-gbm

weston-simple-dmabuf-gbm has a new command line option, --shared, which
when enabled, instead of allocating one DMABUF per wl_buffer, allocates
a single DMABUF which is referenced by each wl_buffer. For example,
for a 100x150x32bpp image, in shared mode, a single WxH=100x750x32bpp
dmabuf would be allocated, and the first linked wl_buffer would reference
the rectangle X,Y,W,H=0,0,100,100, the second, X,Y,W,H=0,150,100,150,
the third X,Y,W,H=0,300,100,150, and so on.

This change has only been partially tested; combining --split and --shared
command line options may still fail, as may combining --shared with
nonzero modifiers.
Status Job ID Name Coverage
  Container Prep
passed #362149
container_prep

00:00:23

 
  Build
failed #362150
build-native-meson

00:00:26

 
Name Stage Failure
failed
build-native-meson Build
[415/418] Linking target tests/weston-test-desktop-shell.so.
[416/418] Linking target ivi-shell/ivi-shell.so.
[417/418] Linking target desktop-shell/desktop-shell.so.
ninja: build stopped: cannot make progress due to previous errors.
Uploading artifacts...
build-*/meson-logs: found 2 matching files
prefix-*: found 54 matching files

Uploading artifacts to coordinator... ok
id=362150 responseStatus=201 Created token=PzhgRqLv
ERROR: Job failed: exit code 1