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