Change the resolution specifier type to std::string
Changing the resolution specifier type to std::string allows to choose anything for it. Thus future algorithms can use other specifiers, if they like. This makes the library more flexible.
Also if a user likes to test an extension with a custom resolution specifier, one could do that without changing a part of the library. This would be necessary, if the specifier was an enum.