refactor at-noder-converter on all src/aria/**/*.js files

This commit only contains the result of the execution of at-noder-converter
on all src/aria/**/*.js files (except skin files).

For this purpose, the following grunt file was used:

module.exports = function (grunt) {
    grunt.loadNpmTasks('atpackager');
    require('atpackager').loadNpmPlugin('at-noder-converter');
    grunt.initConfig({
        atpackager : {
            options : {
                sourceDirectories : ['.'],
                outputDirectory : '.',
                visitors : ['ATNoderConverter', {
                            type : 'CopyUnpackaged',
                            cfg : {
                                files : ['**/*'],
                                builder : {
                                    type : 'Concat'
                                }
                            }
                        }],
                packages : []
            },
            src : {
                options : {
                    sourceFiles : ['src/aria/**/*.js', '!src/aria/css/*.js']
                }
            }
        }
    });
    grunt.registerTask('default', ['atpackager:src']);
};
feat #1272 removes at-noder-converter from the build

This commit removes the at-noder-converter visitor from the build of
Aria Templates (as source files in the repository are now using the
new syntax).

This commit also changes the configuration of jshint to detect code
which would still use the old syntax (in case of future merges).
For this purpose, it makes sure the Aria global variable is no longer
used (except in resource definitions and skins where it is not possible
to use require to get the equivalent object).

close #1272
fix #1275 npm test run twice raised errors

due to jslint validation for \test\nodeTestResources\testProject\target.
This folder has been excluded.
setting npm version after npm update
feat #1273 Removing the need for a build step after changing files

Before the migration to noder-js, it was possible to run Aria Templates
directly from its src folder.

With the migration to noder-js, this was not possible any more for two
reasons:

1) files in the src folder were using the old syntax (with $dependencies)
and were converted at build time to the new syntax (with require)

-> now, starting with commit b0ae188305c0fa16fe7d458803580da551a1cb94,
files in the repository are using the new syntax and it is no longer
needed to convert them at build time.

2) the entry point file of Aria Templates needs to be generated (as it
is built on top of noder-js, overriding one of its modules) and was
generated in the build/target/bootstrap folder.

-> this commit is changing the location where the entry point file is
generated. It is now generated in the src foilder so that it is possible
to fully execute Aria Templates directly from its src folder.

The generation of files in the src folder is now part of the full build
and can also be run independently with: grunt src

The following files are generated in the src folder:
src/aria/bootstrap.js
src/aria/bootstrap-node.js
src/aria/noderError/*.js

After running "grunt src", it is possible to use the src folder directly
to serve the Aria Templates files, and then changing most of the framework
files can be done without requiring a build step. Running again "grunt src"
is needed after changing noder-js itself or files in the src/noder-modules
folder.

Close #1273
fix #1277 Misleading error when skin is not available

The error message informing about the absence of a skin suggests that a css and a js files are needed. This is no longer the case.
feat #1237 clickbuster implementation

a new touch event has been created (safetap) in order to handle the tap gesture without any side effects due to the ghost click, generated by the browsers in mobile devices.
If a mousedown, click or touchend event is detected after a safetap on the same area, it is ignored since considered as a ghost click: preventDefault() and stopPropagation() are called.
In this way, if the DOM changes after the safetap event is handled, the browser's ghost click will not have effects.

reference:
http://ariatemplates.com/blog/2014/05/ghost-clicks-in-mobile-browsers/

close #1237
fix #946 'data' must be set explicitly to null when using a module controller inside a TemplateTestCase
close #1284
feat #1280: Selenium Java Robot layer

This commit contains a new implementation of the aria.jsunit.IRobot
interface to use the Selenium Java Robot.

The Selenium Java Robot tool is available here:
https://github.com/ariatemplates/selenium-java-robot

If the browser was launched with the Selenium Java Robot tool, it will
be detected automatically by the aria.jsunit.Robot class and the
corresponding implementation of the interface will be used.

close #1280
fix #1281 fixing random test failures with Slider and DoubleSlider

This commit makes aria.utils.dragdrop.Drag a static dependency of
the Slider and DoubleSlider widgets. It does not make sense to have
it as a dynamic dependency, as it is always needed, as soon as those
widgets are used. Moreover, using a dynamic dependency makes their test
fail randomly, as the dependency may not have been completely loaded
when the test starts, leading to errors.
fix #1282 fixing keystrokes-related failing tests on Mac OS

This commit fixes 2 failing tests on Mac OS, due to different keystrokes
on this operating system.
fix #1274 Select widget with 'options' and 'value' binded.

If the options list changed, the value is no longer considered and
the first one is always selected
fix #1283 fixing scrollbars-related failing tests on Mac OS

This commit fixes 2 failing tests on Mac OS. On this operating system,
scroll bars do not take any space (they are hidden most of the time, and
even when they are displayed, they are displayed on top of the content
without changing the layout).
fix #1285 improving the precision of Drag utility and slider widgets

This commit changes the strategy to compute the new position while
dragging a DOM element with the drag utility.

Previously, the new position was computed by using the difference of
coordinates between the previous mouse move event and the current mouse
move event, thus accumulating rounding errors at each mouse move event.
Because of this, the distance between the mouse and the dragged element
could increase or decrease significantly while dragging the element.

Now, the new position is computed by using the difference of
coordinates between the start of the drag (which is a fixed reference)
and the current mouse move event, thus making sure the relative position
between the mouse and the dragged element stays the same until the mouse
is released.
feat #1223 font properties for AT widget's label and input fields

This PR allows users to provide font properties for widgets labels and
input fields through AT skin
close #1223
fix #1287  navigation keymap inconsistency

when an escape keystroke is registered before a dialog is opened, the navigation keymap contains 2 objects, and when the dialog is closed, the wrong one is removed.
This fix introduces a comparison between the "modal" property that is used in the dialog keymap configuration, so that the right object is deleted and the user defined one is still handled by its callback.

closes #1287
Link widget disable bind change
feat #1234 Adding properties for Splitter widget

Adding new properties for borders for Splitter
close #1234
fix #1286 NaN misinterpreted as a Number
removing wrong extra commas in 2 templates