Fix spark-menu-item styling to satisfy spark-suggest-box requirements on it
Fix some explicit types
Add 'value' to spark-selector's 'activate' event
Insignificant cleanups (coding style etc.)
Better fault tolerance for externally modified 'selected'
Small fixes/cleanups in spark-suggest-box
Close spark-suggest-item on ESC
Handle only isSelected==true events in spark-suggest-box
Fix the auto-closing behavior on a click outside the overlay
Patch menu item not working on repeated click
Move commonly used key codes to a separate file/class
Add modal mode to spark-overlay + fix multiple issues with auto-closing mode

"modal" and "auto-close" required similar or intertwined actions in a lot of places, so it made sense to combine them in a single class, as opposed to spark-modal. spark-modal will be cinverted to spark-dialog with more higher-level markup.
Convert spark-selection back to pseudo-generic types + enforced uniqueness.
Add several useful methods to SparkWidget

Make the widget keyboard-focusable, veil/unveil/prevent FOUC, ...
1) Simplify, improve and fix spark-selector:
- Better handling of changes in the inserted light DOM items.
- Better and clearer handling of externally set initial selection (no more bi-directional, dynamic 'selected').
- Mouse navigation: track active item via listening to on-mouse-over on the whole spark-selector; that replaces relegating that to the limited CSS-based highlighting via on-mouse-enter/leave on each individual spark-menu-item, as before.
- Keyboard navigation, made possible by the above: arrows, PgUp/PgDn, Enter, Esc, etc.
- Specify activeStyle/Property from outside, just like selectedStyle/Property.
- Interface for delegation of navigational key strokes for handling by external embedder (e.g. spark-menu-button and spark-suggest-box). Handling tracks the currently active item, applying activeStyle/Property, and commits it to the selection on ENTER, with 'activate' event firing as a result.

Reimplement spark-suggest-box using spark-menu. Adjusted spark-menu-button to match the changes.

In spark-menu-button and spark-suggest-box, delegate navigational keystrokes to the underlying spark-menu for handling (moving the active item up/down + committing it).

Fully implement focusing behavior in spark-menu-button and spark-suggest-box: open on focus/click/arrow/etc, close on blur/escape/etc, etc.

Move spark-menu-item styling to spark-menu.