Refactor SurfaceObserver pollOnceInternal

Refactor pollOnceInternal to make its logic clearer.

* Remove ve.ce.DomRange class (had misleadingly live node properties)
* Move much of the SurfaceObserver state to new ve.ce.RangeState class

Change-Id: Iccb6d39022ee06c8bd1fb687343efa160dbac44f
Merge "Refactor SurfaceObserver pollOnceInternal"