Osc: Always destroy the current buffer when opening a device

This fixes memory leaks, makes the OSC work with client-side demuxing,
and prevent the OSC from confusing the IIO daemon with an always
increasing number of clients (as buffers were not destroyed).

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>