This mixin is an adjunct to WrappedStandardElement,
intended to be used with a wrapped input or textarea. The inner input or
textarea will have selection properties
that we would like to track as state members. Doing so is challenging,
because the browser provides no standard event for tracking a change in
To compensate, this mixin listens to keyboard or mouse activity within the inner element that might affect selection, then refreshes the host component's selection state as appropriate.