another set of updates to fix race conditions

need to support multiple maps at the same time in a single class still
more cleanup

cleanSenderSet() now looks to see if there are any entries in the sender set with no matching textureInfo. However (and I think this was the case in the old SDK), it's possible for someone to think an orphaned sender name is present because the sender hasn't had a chance to create a memory share yet.

make use of the SenderNames function directly in the GLDXinterop class instead of using memory maps directly

allow for nested calls to Lock()/Unlock() for the SpoutSharedMemory