Fix to logging to stdout / stderr & proper flushing
Fixed initialization issue where logger thread could be created multiple times

This happened if multiple log calls were being made in fast sequence from multiple threads at the same time while NSLogger was not initialized yet.