Reduce the amount of time that Image{Input,Output}::create holds the lock.
We need to lock while manipulating the array of create functions, but not
while we're *calling* the create function (which is the expensive part)
or doing other tasks. Also, for II::create, rearrange a little to reduce
the number of separate lookups in the map.

This should speed up OIIO's file open time when multiple threads are trying
to open image files simultaneously.

Suggested by Michel Lerenard.