A `Handler.t` handles a keyboard event by returning a `Vdom.Event.t`. These should be used as building blocks for keyboard event handlers, for instance to handle a specific set of keys.

`type t``= Incr_dom_widgets.Keyboard_event.t ‑> Virtual_dom.Vdom.Event.t```
`include sig ... end`
`val t_of_sexp : Base.Sexp.t ‑> t`
`val sexp_of_t : t ‑> Base.Sexp.t`
`val with_prevent_default : t ‑> t`

`with_prevent_default t` handles the event using handler `t`, and additionally prevents the default handler.

`val only_handle_if : ?⁠prevent_default:unit ‑> Condition.t ‑> t ‑> t`

`only_handle_if ?prevent_default cond t` handles the event using handler `t` if `cond ev` evaluates to true (and additionally prevent the default handler if `prevent_default` is passed in), and does nothing otherwise.

`val handle_by_case : ?⁠prevent_default:unit ‑> (Condition.t * t) list ‑> t`

`handle_by_case` is similar to `only_handle_if`, but allows the user to provide a list of handlers and their respective conditions instead of a single one. If multiple handlers' conditions evaluate to true, the first one is used.