feat #1137 add tests for util.Dom.getGeometry

(cherry picked from commit 772c77df069c010c006c13fb1b5d540c91970d55)
fix #1137 utils.Dom.getGeometry on absolutely positioned parents

This commit fixes some of the issues in Dom.getGeometry method:

- it adjusted the returned value only on elements with overflow scroll or
  auto, and not when overflow was hidden
- when an element had absolutely positioned ancestors, it was returning
  incorrect values (due to the fact that a parent of absolutely positioned
  element has computed height of 0); particularly it was sometimes wrongly
  returning null while the element was visible in the viewport
- it was sometimes doing calculations unnecessarily

The original issue which triggered the investigation was about SelectBox
inside absolutely positioned parent not displaying the dropdown due to the
call to getGeometry returning null.

Close #1140.

(cherry picked from commit 4bc7708d818b6edc9086056fb98397ec55584e5c)