fix #437 Adding focused states to the aria:Button.

On all browsers except Firefox, there is no visual indication that an
{@aria:Button {}/} widget is focused.
Close #438
feat #430 Reduce intstruction number in tpl markup

Adding feature for merging text and expression items after template parsing in order to reduce the number of instructions

Close #430
feat #441 history enhancement

Singleton class aria.utils.History provides a cross-browser implementation of HTML5 native history API. With respect to the previous version, this one is more compliant with the standard behaviour:

- the onpopstate class event is not raised after a pushState or replaceState.
- the state property is available on the singleton and it corresponds to window.history.state.
- support for page reload and external navigation is supported also in browsers for which hash-based navigation fallback occurs (with the exception of IE7, for which the previous history is not kept after reloading, but only the current state is available).

However, the new version is backward compatible with the previous one. In order to disable backward compatibility, set aria.utils.History.isBackwardCompatible to false right after loading the class.
Close #441
feat #439 Improve widget test case

Improve the class WidgetTestCase by providing a dedicated test area and a method to create and initialize the widget under test

Close #439
fix #439 Enable Lint on test cases

One of the tests added in #439 is leaking a global. This commit enable linting on all test files and consequently fixes them
refactor Better validation for the configuration beans

The same code was used in several places, the idea is to mutualize it for a better code size and maintenance
fix #430 for CSS libraries

CSS Macro libraries should support $writeArray
Close #442
fix #444 Fix npm start command again

Since the new build changed some path, this commit is needed to fix npm start.
Finally it introduces a test case in node+mocha to make sure that the command keeps working.
It removes the watch feature as it was hogging the cpu.
fix #446 Missing dependency in aria.utils.css.Animations
fix #447 avoiding * in the root map for the aria package itself.
fix #448 The calendar may have some issues depending on the timezone it is used

To avoid the issue, the new dates are created at noon.

For instance, the Brazilia timezone change the daylight saving time at midnight.
In javascript, a date created with new Date(year, month, day) when the calendar change will result to the day before,
and the calendar widget will have repetitive days around this time.

Setting the dates at noon will prevent the day change.
feat #430 revert of the feature

This commit reverts commits 5a0b9dd7fdbf86cff3b96d0040192416b4923029
and 46e0e12e12f9154802f1ffbfd175e24e0b786506 as they are causing
regressions: test test.aria.ext.filesgenerator.GeneratorTest is failing
when not in debug mode.
fix #450 Number controller didn't reference the right configuration error message.

aria.widgets.Widget.INVALID_CONFIGURATION has been moved to aria.core.JsonValidator.INVALID_CONFIGURATION,
after commit b129e79
fix #451 Change test url in jsonp test

We used to target twitter for testing real jsonp requests. Lately twitter API became rate limited and thus failing from time to time.
This changes to jsfiddle echo service.