Add SimpleMutex class and platform specific mutex function

Add SimpleMutex class and platform specific mutex function and SimpleMutex unit test
Ok, I can remove those. It is just mostly an old habit.