C++ wrapper: get rid of the Boost dependency
The C++ wrapper relies on boost::shared_ptr, likely due to the lack of a
standard smart pointer at the time of the C++ wrapper implementation.
However, std::shared_ptr has been available by default in GCC since
version 6.1, and even with GCC 4.7 when explicitely using the -std=c++11
option.
This commit replaces all usages of boost::shared_ptr with
std::shared_ptr, eliminating the dependency on the Boost library. Since
the smart pointer is only used in private member variables and both
types have the same size, this change does not affect the ABI.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>