wip: state: support directly setting LED state

See the comments for an explanation and the API (not 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). 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>