feat #393 Utility class to load standard css files

It is possible to progrmmatically add/remove css files by using the aria.utils.CSSLoader singleton.
Tags of type "link" are created and appended to the head of the document.
Close #393
fix #394 tplScript unnecessarily extending Template

If a template had a CSS template with script in its dependencies, then
a circular dependency error might have happened due to that. This commit
removes the the dependency of a tplScript on aria.templates.Template
which could lead to that situation.

Additionally, the $constructor and $destructor functions are removed
at Aria.tplScriptDefinition call time to prevent direct instantiation of
tplScripts (but the user can still specify $constructor and $destructor
in their template script and they will be invoked).

Close #395.
fix #401 HashManager works correctly in IE7 even after a domain change

In order to provide support for back and forward in hash-based navigation in Internet Explorer 7, class aria.utils.HashManager creates a hidden iframe to open and close each time the history has to be populated with an entry.

When the document.domain is changed, IE7 denies access to some global variables of the iframe, unless the document.domain is updated inside the iframe, too. In order to notify that document.domain has been explicly set, variable Aria.domain has to be set to the same value.
feat #385 Gestures

Support more gestures: double tap, single tap, long press, drag, pinch

Close #385
feat #404 improve logging in tests

1) Added Assert.assertEqualsWithTolerance(num1, num2, tolerance)

2) Formatted output in Assert.assertJsonEquals

Instead of dumping minimal JSON strings in failed JSON comparison,
pretty-print them.

3) Log to browser console in JSUnit in verbose mode

Currently, the SilentArrayAppender is the appender used in our JSUnit.
This means that things like $logError or $logWarn will not be displayed in
Firebug console.

However, the appender is changed from DefaultAppender in the middle of the
execution, which results in some logs actually being available in the
browser console, but the rest (after changing appender) not.

For debugging purposes, it's useful to see the errors and warnings directly
in the browser when running the test.

This commit adds the possibility to see all the logs if the URL of the
test page contains 'verbose=true' part.

Close #404.
feat #400 Using atpackager

The packager used during the open-source build of Aria Templates is now separated
in its own project called atpackager. Templates are now pre-compiled to javascript
classes during the build. Grunt version is updated from 0.3 to 0.4.

Closes #400
feat #407 improve ModuleCtrlTestCase

Improve ModuleCtrlTestCase by providing automatic creation and disposal of tested module.
By specifying `$controller` in the test's `$prototype` an instance of that class is generated before running the test.
The tester can then access the two variables `$moduleCtrl` and `$moduleCtrlPrivate`.
The public interface is also registered for asserting its logs, so there's no need to call anymore `registerObject`.

Close #407
feat #405 Error tool tip enhancement

Currently the logic for the error tool tip is contained within
aria.widgets.form.Input, the aim of this enhancement is to share code
efficiently between multiple types of widgets. Specifically for the
requirement of this feature, this means making the code for the error tool
tip not only available for "Input" type widgets, but also for "Action"
type widgets.

In addition, it must also be possible from within a template to have a new
widget property called errorTipPosition that will be used as the preferred
position for the error tool tip, if there is not enough available space
the framework will automatically calculate the best position for the error
tool tip. The property will be added for both "Input" type widgets and
also "Action" type widgets.

Close #405
fix #406 Scrollbars in splitter with nested templates

Extra scrollbars are displayed when templates are nested inside a splitter widget
doc #392 release notes templates

Add two release-notes templates to generate wiki and blog release notes pages
Close #392
fix #389 closeOnMouseClick of Dialogs with inputs

Forces the blur on the active input to store its value in the data model

Close #390
feat #414 CSS Animations

Add CSS animations, like slide, fade, pop and flip, using the utility aria.utils.css.Animations

Close #414
refactor Error responsibility in aria.jsunit.Test

aria.jsunit.Test holds a list of error messages raised by extending classes, however the logic to deal with these errors is inside aria.jsunit.Assert
This commit simply moves code from one class to the other, errors are now part of Test and Assert is left with methods used by developers and not the test runner.

Close #403
refactor tests

Fix some trivial errors in test cases

Close #410
fix #415 bulletproofing test cases

1. JSONP test didn't remove the IOFilters in case of failure.
2. MobileBrowserTest used to emulate numerous browsers and didn't restore
original values in aria.core.Browser.

Both of the problems above had influence on another tests when run in the
test suite without isolation.
fix #397 Left positioning of dragged element on IE8

It also includes :

  - Includes some drag test cases,
  - Fixes some webkit drag issues (a click trigger a mousemove with webkit)
  - Excludes a test case with PhantomJS (the viewport size is not well reported)

Close #416
fix #417 Drag utility fails after fix #397

The workaround introduced in #397 about the mouse move is now effective
only for webkit

Close #418
fix #419 Issue in DialogOnResizeTestCase

resolves an issue for DialogOnResizeTestCase (and possibly others) where there is an assumption that the HTML element will contain a style attribute.
fix #420 CssLoader test case for slow networks

Fix a test case that fails when the browser is too slow to apply the css
rules of a newly loaded css file
fix #422 tests failing in old browsers

Fix two tests failing in IE7 and FF3.6