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.