This is a way more convenient way for the underlying providers to
access the input in which the software was called. Having the input
path in providers that already discover path will allow users to
override paths easily, and this way we could also add more flags that
some providers would need and others ignore without changuing function calls.
* Using EXIF data for screenshots which is more accurate and doesn't
require parsing the filename (which not always contains the date)
* Relying on the date parsing for videos for now since I haven't found
a game that didn't have the datetime on the video filename. This could
change in the future.