encoder: namespace encoder capability by category
Currently, when encoding an ES category, the encoders had to check whether they supported the ES category and return an error, forcing many modules to be loaded and probed for nothing.
By splitting by ES category, we ensure that most encoder that would have not supported the encoding anyway won't be probed. As a side effect, it improves the documentation in the help output by only listing encoders that will actually be able to encode the format, for instance in aenc/venc/senc options in the transcode module. It will also provide a better way for the UI to list the available encoders.