fix #1139 DomTestCase fail in Firefox

There's a 0.5px (in this particular scenario) discrepancy in calculations in
Dom.getGeometry method which stems from a quirk in some browsers for
inline containers, for certain font face (Arial, Times New Roman) with
line-height:normal which is a CSS default.

For inline container, it's top position with respect to the parent depends
on the line-height value. For line-height normal, for most of the fonts,
that distance is zero. However for some fonts in some browsers (Firefox,
Chrome abover certain threshold) the computer value of line-height makes
this top position being > 0 and some computations fail later due to that.

This commit just changes the default font for the test. The test started
failing in 1.5.3 after change of the skin from atdefskin to atskin which
removed setting of a default font.

Proper workaround for the issue would require substantial changes to
Dom.getGeometry().

See https://bugzilla.mozilla.org/show_bug.cgi?id=1014738
feat #1137 add tests for util.Dom.getGeometry
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.
fix #1135 loading indicator scroll issue in IE8-

In IE8 and IE7 the scroll event does not bubble up, so the loading indicator refresh is not triggered when the user scrolls a view inside a container.
This fix registers listeners on the ancestors of the overlayed element (only for IE8 and below), and adds 2 new util methods in aria.utils.Event
fix #1053 update textcontent of Text widget on bound property change

Close #1141
fix #1145 ScrollableBodyTest in IE8

Commit 3250a2654c12a46e18bbcdae3662c65ebf56a25b introduced a regression
in IE8 which showed up in ScrollableBodyTest.

In IE8, scroll event is not triggered on #document, but only on window
(other browsers work differently)

http://www.quirksmode.org/dom/events/tests/scroll.html
fix #1143 mocha tests failing on patch builds

New versions of npm (1.4.x) transform the version entry in package.json
from the form like `1.4.17A` to `1.4.17-A` in the env variable.

Hence our build was failing on patch builds when new version of npm was used.
1.5.4
fix #1000 TemplateTestCase.getWidgetInstance does not work