feat:utils pimpl_ptr : unique pointer with deep const-correctness
This is to be used when implementing the pimpl pattern