Null-check string pointers before reading.

Found to be a problem with Nikon D800's.
Mark capture & file read ffi functions as blocking, to allow for multi-threading.
Merge pull request #1 from YesVideo/master

null checks and multi-threading