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 #436 content-type header for asyncFormSubmit