Add SimpleMutex class and platform specific mutex function

Add SimpleMutex class and platform specific mutex function and SimpleMutex unit test
Would you mind making the PlatformSpecificMutexLock function pointers instead of overriding them in the C++ file. This way of stubbing does work (most of the time) but it actually might cause "duplicate symbol" error messages or at worst unexplained behaviour.