use parking_lot for synchronization primitives

It's a lot smarter and has deadlock detection which is a killer-feature in itself

https://crates.io/crates/parking_lot