v4l2 access: use block mode for READWRITE devices
v4l2 access: use block mode for READWRITE devices

Also refactor common code with MMAP devices.
In block mode, the read buffer size is controlled. That ensures that
dequeued buffers do not get truncated.

krichter722/vlc,vlc-mirror/vlc-2.1,jomanmuk/vlc-2.2,vlc-mirror/vlc,shyamalschandra/vlc,vlc-mirror/vlc,krichter722/vlc,jomanmuk/vlc-2.1,krichter722/vlc,jomanmuk/vlc-2.1,vlc-mirror/vlc-2.1,shyamalschandra/vlc,jomanmuk/vlc-2.1,jomanmuk/vlc-2.1,jomanmuk/vlc-2.2,jomanmuk/vlc-2.2,vlc-mirror/vlc-2.1,jomanmuk/vlc-2.2,shyamalschandra/vlc,krichter722/vlc,krichter722/vlc,jomanmuk/vlc-2.2,jomanmuk/vlc-2.2,jomanmuk/vlc-2.1,jomanmuk/vlc-2.2,krichter722/vlc,shyamalschandra/vlc,vlc-mirror/vlc-2.1,vlc-mirror/vlc-2.1,vlc-mirror/vlc,jomanmuk/vlc-2.1,shyamalschandra/vlc,vlc-mirror/vlc-2.1,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,vlc-mirror/vlc,vlc-mirror/vlc,vlc-mirror/vlc,vlc-mirror/vlc,xkfz007/vlc,jomanmuk/vlc-2.1,shyamalschandra/vlc,xkfz007/vlc,shyamalschandra/vlc,xkfz007/vlc,vlc-mirror/vlc-2.1,krichter722/vlc,xkfz007/vlc