fix #513 $constructor, $destructor consistency refactoring

Adding the possibility to use $constructor when calling a parent constructor.
fix #135 undefined element in View

added a check when creating a view with an undefined element,
we now log an error.

Close #514
fix #525 null and undefined are not callbacks

aria.utils.Type.isCallback(null) and aria.utils.Type.isCallback(undefined)
fail instead of returning false
refactor moving templateTests/features

Close #519
fix #530 Addition of tests on aria:Dialog widget
fix #510 Callback added to the navigate method of the SiteRootModule controller

Close #510
feat #518 Allow animation type in page engine
feat #518 Improving BasePageProvider to make inheritance simpler

Two methods have been added to class aria.pageEngine.pageProviders.BasePageProvider: processSiteConfig and processPageDefinition. They are called, respectively, before sending the site configuration and page definitions back to the page engine.

This makes it possible to extend the BasePageProvider class by only implementing those two methods.
feat #518 Page engine - document title is set also in hash-based navigation

When "navigation" is set to "hash" in the site configuration, the title of the page (specified in the page definition) is used to change the title of the document.
This was previously done only in history-based navigation
feat #518 Improvement of page engine tests

Tests for the PageEngine class are no longer template tests.
fix #520 Accept empty url in navigation manager cache

The navigation manager of the page engine was rejecting empty strings from the cache in which url-to-pageId map was stored.
This implied that, when navigating back to a page whose url is an empty string, the page engine was unable to infer the pageId and display the correct page.

Close #520
feat #518 Addition of storage settings in the page engine site configuration

Navigation managers used both for hash and for history-based navigations in the page engine rely on local storage browser capabilities to store the associations between urls and pageId's. The saved data is needed in order to identify the right page after hard page reload or when hitting back after an external navigation.
Before this code change, the storage could not be configured. Now it can be deactivated, provided with a specific suffix for local storage key and with an expiration delay for its entries.
feat #518 Addition of beforePageTransition event
fix #524 Single slider using Drag util

Refactor the touch slider to use the drag utility instead of the swipe
gesture. This makes it simpler to use.
fix #526 Floating point display issue in Numberfield widget

Fixes the display issue by working with Strings when necessary.
This fix also limits the maxDecLen property of a pattern to 20 to prevent
potential errors when passed to toFixed()

Close #527
refactor moving templateTests/widgets

Close #529
fix #534 aria.utils.Path accepts keys starting with $ when parsing the path
fix #532 removing unnessary type cast in splitter
fix #533 Double Slider wrong border width

Fix the border computation in Firefox
refactor Datamodel in playground - npm start

Some changes in npm start to

* Pass a datamodel to the template displayed in the playground
* Use a DIV logger in playground
* Fix an issue with IE7 buttons not clickable

Close #528