Trigger selection update on selectionchange or mousemove events

Using the selectionchange event (or mousemove where not available) have
the surface observer update the selection immediately. Implement an
optimised pollSelection mode in SurfaceObserver for this purpose.

Bug: 59822
Change-Id: Ic7413c31c37f6fcd90ae1c724567298c772d517f