Add SmartPtr code and include directory