add FEATURES_IMPLEMENTED

We now have a list of features supported by libdiscid on the platform
and a list of features supported by us.
The user can create a list of features currently available with
`set(FEATURES) & set(FEATURES_IMPLEMENTED)`.
We will probably use such a thing internally, but it would probably
be clutter to expose a third feature list in the API.

The list of all features implemented in libdiscid on any platform is not
available at all (if different then ours).
Merge branch 'master' into isrc_api
create and use _FEATURE_MAPPING

That mapping is a good way to implement the feature enum of libdiscid
and we can also use it to create FEATURES_IMPLEMENTED on the fly.