Fix missing 'count' in vio_write()
Fall back to read() if readinto() is not available

See #19
Get file extension from 'name' attribute of a file-like object
Add 'name' property
Add open() function
Add read() function
Add write() function