Complete standard API with release() and remove all (non standard) pointer cast
Add unit test for unique_ptr