Support libsndfile’s virtual file interface

Documented here: http://www.mega-nerd.com/libsndfile/api.html#open_virtual .

I have need of being able to decode FLAC files from memory, so I added support for the virtual file interface in libsndfile.

* Pass a file-like object and set virtual_io=True in the constructor
* If the file-like object represents a stream of data such that seeking would be prohibitive,
  set stream=True. The file-like object must implement its own __len__ in this case.