added overloads of ctor and open taking a const char* instead of a std::string, to prevent ambiguity between HANDLE and std::string when a const char* is passed as arg