feat #1132 Add env. parameter for escapeforhtml

- added templateSettings in EnvironmentSettings
- added hasEscapeHtmlByDefault and setEscapeHtmlByDefault to Environment
- modified Statements.js to check this parameter
- added tests
feat #1132 Add test for env. parameter for escapeforhtml

Made a few changes to the feature implementation, one for code consistency and one for fixing a discrepancy in identifiers use.

The new use case has been tested:

- a template gets compiled with the parameter turned off
- a classical use case is run and checked regarding that
- the parameter is reverted

This required to have two tests, to be able to have two different template compilations. Therefore a bit of refactoring has been done too.

Close #1132
Close #1133
Close #1154
fix #1155 Add jsdoc tags when needed

After the migration of the new syntax, some previously inferred documentation properties need to be explicitly declared.
The required declaration have been added to the classe that have already been migrated to the new syntax.
feat #1156 Testing the packaged version instead of the unpackaged one.

close #1156
fix #1162 Fixing a memory leak in SynEvents.js

This commit fixes a memory leak with IE8 in SynEvents.
It is sufficient for aria.utils.SynEvents to be loaded
for the leak to happen.
The issue can be reproduced with attester. As soon as
several tests in the test suite extend (directly or
indirectly) aria.jsunit.TemplateTestCase, because this
class depends on aria.utils.SynEvents, the leak is
visible.
When SynEvents is loaded, this class performs some tests
on the browser to know how it behaves. For this purpose
some DOM elements are created and some event listeners
are attached to them but those listeners were never removed.

This commit removes the leak by removing those event
listeners when they are no longer needed.
feat #984 noder-js: switching to noder-js 1.5.0
feat #1163 Bump attester to 1.5.0

Close #1163
1.6.1
fix #1165 npm start running grunt build twice

It also refactors package.json
feat #1167 External CSS property for skins

This commit introduces a new property for skins that lets you load and use external css files.
feat #1168 New configuration for Icon Widget

When there is not a sprite url defined, the icon widget configuration is composed by a list of css classes that will be added to the html element generated.
fix  #1149 0 was not considered as an existing value in the mandatory validator
fix #1164 Some dropdowns in the flat skin are larger than expected
fix #1172 null bound value in @aria:CheckBox triggers an exception
fix #1166 Support for external hash change in page engine

When navigation is set to `hash` in the site configuration, it is now possible to change the hash manually without compromising the back/forward navigation.
Before this commit, after manually changing the hash and then navigating away to another page, it was impossible to correctly go back because the manually added hash was not correctly mapped to a page.
fix #1174 Refactoring border-radius property for widgets

Adding a macro to refactor the code for the border-radius property.
fix #1170 root map not taken into account for cssFolderPath

This commit fixes a regression introduced by commit 96c3f0591012d316db5de8325225645449ee26a7:
the root map is not taken into account for the computation of
the cssFolderPath property in CSS templates.
fix #1181 incomplete fast normalization in case of recursive bean definitions
fix #1177 Pointer cursor on Tab widget

The cursor CSS property on top of the Tab widget is now set to `cursor` unless the tab is disabled.
fix #1180 Limit call stack in IE

When the `loadFile` method of singleton `aria.core.DownloadMgr` is called, if the file is already available in the AT cache the callback is called synchronously. A big height for the dependency tree of a class leads to a growth of the function call stack which can transcend the limit imposed by some browsers, which leads to an error.

This commit adds a limitation the number of nested synchronous calls to the `loadFile` method in Internet Explorer (64bit), setting a timeout to break javascript execution when the limit is exceeded.