Add hover handling to sku module

When the user hovers over a sku option (either colour or size), the UI
should pretend the hovered option is "selected" (even though there may
be options that are "really" selected).

Suppose the user is currently quickviewing a shirt and has chosen
(small, red).  If the user hovers over blue, we temporarily treat blue
as the selected option and give unavailable sizes in blue different
treatment.

If the user hovers out, the UI should reflect the fact that now the
selected option is red (and unavailable sizes in red should have
different treatment).

Similar behaviour should happen with sizes (on hover over medium,
unavailable colours in M should have different treatment; on hover our,
unavailable colours in the originally selected size should have
different treatment).

For now, we will go with the Banana Republic UX instead of the QVC UX
(since it's easier).  On BR, the user is permitted to select an
unavailable sku, but the [Add to Bag] button is replaced with [Out of
Stock].

The QVC UX is more work since it doesn't allow you to choose an
unavailable sku.  Suppose you choose M size and red is unavailable.  If
you choose red, your size selection is reset.