Relinquish the image table lock while calling drawing block. Add new mechanism to synchronize on entry index to ensure only a single writer per index val.
Fix warnings
Synchronize on entry's index when reading an image as well. This way, we'll wait for a write to finish if it's occurring on background thread.
Remove -saveMetadata from FICImageTable header, and always call -saveMetadata when deleting
Reduce contention by releasing lock before writing metadata to disk.