This changes the type of the private `path` variable to QString
internally (which we were converting it to for a bunch of operations
anyway), and uses QString's more robust string-manipulation and
comparison methods to ensure that only filenames that _end in_ an
.svg/.svgz extension (case-insensitively) are recognized as SVG files.
Previously, a filename such as "Title.svg.png" would be interpreted as
an SVG file.
The change in QString type is purely internal, all of the class's
interfaces remain the same, and accept `std::string path`. We simply
convert it to/from QString at opposite places in the code, now.
It turns out SWIG is a lot pickier than GCC about namespaces, and
requires a lot more `openshot::` prefixing in our headers, if we
eliminate the `using namespace...` statements from them.