wip: state: support directly setting LED state

See the comments for an explanation and the API (note the disclaimers).

Going from leds to modifier/group state is not generally possible. This
commit only implements the most basic case of a LED which is bound to a
locked modifier (or modifiers). The tests suggest this works fine for
Caps Lock and Num Lock, which should cover about 99% of the uses of
this function. For anything else we just do nothing; if someone
complains we can look into it.

Signed-off-by: Ran Benita <ran234@gmail.com>