This is a thread-safe reference-counted smart pointer with weak references.
The weak references don't prevent mutable access to the inner value,
`Strong::borrow_mut` will always succeed as long as there is a single
`Strong<T>` handle to the value that should be mutated.
Improve documentation, review the code (most importantly the atomic operations),
make use of it.