Logs can be dropped when threaded
Due to the quick fix for #128 (closed), we can lose individual logs in threaded situations.
I propose either:
- figuring out some easy cross-platform locking to build a queue in C;
- having a ring buffer of log messages.
In my experience playing with this, I never saw more than 20 messages queued up. Making a 32kB ring buffer would solve that (albeit smell bad).