Split level into two separate `classes` and `depth` options

This pull request splits the `level` option in two options: `classes` and `depth`. The first one controls what "leaf" genres should we consider: only primary genres or all of them (and possibly other future options, such as choosing the most voted genre \*wink\*). The `depth` option can be used to control the "specificness" of the genres to be set: only the most specific ones or all ancestors. Likewise, there can be new options in the future, such as reducing all genres to a certain height in the tree (e.g. if one wants to set only top-level or depth 2 genres).

Feel free to rename the config keys and values and modify the README of this PR, I'm not sure they're the best ones.