fix #1111 popup position with expanded list

Suppose you have a `MultiAutoComplete` with an expand button.

When you add suggestions through the expanded list, its position is now correctly updated.

Also, when clicking on `Select all` or `Deselect all` an error was logged. This commit fixes this.

Close #1114.
feat #1116 Possibility to customize the root module in a page engine-based application

This commit introduces the possibility to customize the site root module in a page engine-based application.
The configuration of the module has to be given as an argument of the start method of the page engine class. It has to extend `aria.pageEngine.SiteRootModule` controller.

Close #1116.
fix #1118 Cleaning of a test on the MultiAutoComplete

The code removed with this commit is useless.
1.5.3
fix #1119 TooltipTestCase
feat #1119 inject page CSS to iframe via TemplateTestCase/FrameATLoader

In TemplateTestCase it's been possible to run a template test in an iframe
and set the `<iframe>`'s CSS itself, but it was not possible to inject the
CSS to the `<body>` of an iframe, and since CSS Templates can't modify global
CSS scope of the window, there way no way to alter global CSS for the
test.

Now it's possible to inject an arbitrary CSS text to the iframe which will
be appended as `<style>` node, as a child of `<head>`.

This fixes the failure of the test
test/aria/widgets/container/dialog/resize/test3/DialogOnResizeTestCase

Close #1119.
fix #1120 atskin issue with MultiSelect in normalErrorFocused state.
fix #1113 widget verticalAlign is not applied to its label
feat #1128 update gitignore/npmignore

Close #1128
fix #1121 MAC with expand button: preselect property not working correctly
fix travis build, upgrading npm version
fix #1130 undefined error message for deprecated modifier

Due to a discrepancy how `callModifier` is called from the templates,
in real templates an undefined message is logged, contrary to the test
(EscapeModifierLogTest) which is not executed in the scope of the template
but directly.
fix #953 reload tests button not working
close #1138
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.