Add support for major-mode specific prefixes

Often I only want to show popup in a specific major mode. For example, in calc-mode, there's a prefix `V` for vector operations, or `Z` for kbd related functions. In any other mode (especially modes when user inserts text), poping a help window on `V` would be quite silly. This is similarly useful in dired, ibuffer etc.

To use this one can simply add a list like `(calc-mode "V" "Z" ...)` into the `guide-key/guide-key-sequence`. So it can look something like (for example)

    ("C-x r" "C-x 4" (calc-mode "V" "Z) (dired-mode "*"))

This change is compatible with the old data format, so nobody will even notice something has changed (that is, the bindings that aren't in any list are "global").