FindAgainScroller: fix that aligned position is not updated

* It was wrong that caching |isScrolled| stopped updating the observation
  backout a part of commit: a112be8
FindAgainScroller: optimize searching scrollable nodes

* filter the text nodes at first
* break the loop to check the registered node and hidden node
FindAgainScroller: remake |AlignPosition| to treat only horizontal centering

* |nsISelectionPrivate::scrollIntoView| does not work.
  https://bugzilla.mozilla.org/show_bug.cgi?id=720126
* I think that only the centering is useful. The vertically centering is
  supported by default.
  https://bugzilla.mozilla.org/show_bug.cgi?id=171237
FindAgainScroller: improve scroll steps

* apply near/far steps to the horizonal scroll
* retrieve the proper client width/height for a window or element
* increase the pitches to avoiding a slideless jumping
FindAgainScroller: optimize |SmoothScroll|
FindAgainScroller: optimize |ScrollObserver|
FindAgainScroller: fix typo in commit: b4cace8