Added thread-safety to LoggerSilence

There are several issues related to thread-safety problems on `Logger#silence`. Most of them were fixed by just avoiding the calls to `Logger#silence`.

I'm using this fix on my projects. There's a small performance hit for non-threaded projects, but I haven't benchmarked it yet.

At least I'm not missing logs anymore.
Can we just use `super` rather than `alias_method_chain`?