Add initial working --targets implementation

The `--targets` flag now works as expected. I found a funny `Functor`
generalization of the `addConstraint` helper function and used it. The
code looks pretty but very cryptic. I don't understand it that well, to
be honest. I'll need to discuss the code with someone else to think of
what to do with it.

The next step now is to make the added dependencies be of the currently
installed version, or of the latest version on the package database
whenever no dependency version is specified.

Another "TODO", which is trivial, is to not add duplicated dependencies.
This should be the least hard to implement, though it probably is a good
idea to refactor what we currently have beforehand.
Add usage example

This is a minor README update. It should be noted that this package
still hasn't been pushed to `hackage`.