**Feature summary** (what you would like to be able to do and where):
In T339268 we propose an inline script to replace the existing system and support multiple client preferences.
This needs to be complemented by a client API inside mediawiki core
# todo
[x] The new API should make use of tulle existing mediawiki.user module
[x] The new API should match the proposal in the decision record.
[x] Vector should use the new API
# QA Steps
- Go to https://en.wikipedia.beta.wmflabs.org/wiki/Spain in an incognito window
- Run `mw.user.clientPrefs.set('vector-feature-limited-width', '0')` in JS console. It should visually resize the article and return true.
- Run `mw.user.clientPrefs.set('vector-feature-limited-width', '1') in JS it should restore the article and return true
- Run `mw.user.clientPrefs.set('vector-feature-darkfoo', '1' )` in JS is should return false.