[Step 1] InstanceHolder to unique_ptr
[Step 1] InstanceHolder to unique_ptr

 Convert template `InstanceHolder` to pure struct (class).

 Store `uniqut_ptr<void>` instead of `shared_ptr<T>`.

 Use `reinterpret_cast` to convert `void*` to `shared_ptr<T>*`.

 Add `deleter()` function.

gracicot/kangaru