Removed unneeded TODO in module.h

Added mutex locks around *_module_status variables. I was getting a segfault, and I thought this might have been the problem. It wasn't, but these are globals that get accessed by multiple threads, therefore they need locks.
When gp_camera_init fails, dmp_cm_camera_finalize was getting called. After the camera module finishes failing to init, the core calls finalize again, causing a segfault.

The issue was the fact that camera_finalize was not checking to see if camera and context are null, and was just attempting to unref them. If called just once, this is "not an issue", but if called twice they try to unref a dangling pointer. Added tests for NULL, to prevent this issue.