동적라이브러리의 생명 주기 안정성 확보

1. ExternalApiLoadManager의 Load() 메소드를 통해 생성된 ExternalApi의 인스턴스가
std::shared_ptr에 의해 메모리 관리가 되어도, Unregister()에 의해 생성된 ExternalApi의
인스턴스보다 동적라이브러리가 먼저 해제될 경우, ExternalApi의 동작에 문제가 발생한다. 그렇기에 임시로
Unregister()에서는 동적라이브러리의 핸들을 해제하지 않고, ExternalApiLoadManager의 소멸자가 호출될 때
해제하게 해두었다. 이 경우 사용하지 않는 동적라이브러리를 로드해 놓고 있기에 메모리 효율이 좋지 못하였다. 이점을 해결하기 위해
한 동적라이브러리에서 생성한 ExternalApi의 인스턴스들이 모두 삭제되기 전까지 동적라이브러리가 해제되지 못하도록 하여
ExternalApi의 안정성과 메모리 효율을 향상시켰다.