Add dictionary ("-d") flag

This PR adds a `-d` flag which allows you to choose a dictionary either by providing an absolute path, a filename that's existent in the `dictionaries` directory or the current working directory.

The dependency injection for dictionaries has been changed somewhat to allow for more flexibility.

Some minor style changes.