Similar to [`core::cell::LazyCell`], but use `&mut self` to get or initialization
Suitable for being wrapped in a `Mutex`
```rust
use lazymut::LazyMut;
use std::sync::Mutex;
let mut lock = FOO.lock().unwrap();
assert_eq!(lock.get(), &mut vec![1]);
lock.get().push(2);
assert_eq!(lock.get(), &mut vec![1, 2]);
```