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