dmabuf: share the mapping with shared copies of the memory
With lots of shared memory instances (e.g. created by a RTP payloader) the overhead of duplicating the file descriptor and creating extra mappings is significant. To avoid this, the parent memory maps the whole region and the shared copies just reuse the same mapping. https://bugzilla.gnome.org/show_bug.cgi?id=730441