* fix: include headers as lower case
* fix: resolve template confusion with overloaded std::tolower()
std::tolower is overloaded, which caused mingw-gcc to not correctly
deduce the template parameter, leading to a compilation error.
Wrap std::tolower in a lambda that explicitly states the input
parameters.
* chore: don't use class:: prefix in inline definition
* chore: explicit cast from pointer to smaller integer type
* chore: single character constant for /
* chore: pass string as const char*
* chore: simplify if condition