refactor Remove PrintTestCase

It's been long orphaned (not referenced in any suite), apart from that
it's a UI test which we want to get rid of.

Close #1093.
feat #1106 Include built AT version in npm package

As discussed in #548, it seems that it can be useful to serve minified
version of AT in our npm package along with the src as we're doing now.

This commit effectively adds the contents of `build/target/production`
folder to the npm-published package, and makes the build run automatically
before actually publishing AT to npm via `npm publish` (or `npm pack`).

This increases our npm package's size from ~1.0 MB to ~1.5 MB.
For simplicity, skin files copied at built time to the target folder
are also included in the package (tradeoff simplicity for package size)i.

For applications depending on ariatemplates in their package.json,
they can expose `node_modules/ariatemplates/build/target/production/` as
one of the root folders of their webserver, and they can then include
minified AT in the page via

```
  <script src="/aria/ariatemplates-1.x.x.js"></script>
  <script src="/aria/css/atskin-1.x.x.js"></script>
```

Due to the fact that `npm install` runs also the `prepublish` script,
things were split between `prepublish` and `ci` scripts (the latter being
invoked instead of `npm test` on Travis) in order not to run Grunt/JSHint
twice on Travis.

Close #1106.
feat #1084 Add a simple way to run one test

This commit imports our `beta.html` test page into opensource world.

This is to make it easy to continuously run just a single test for
debugging purposes, without
- the need to configure Attester
- being forced to use the old test runner available via `npm start`

The commit largely imports our CC files untouched, with just some
adjustments to the paths included in the page.

The differences with respect to to the original `beta.html`:
- `devfiles` and `verbose` flags are true by default
- if no classpath provided, then a form is displayed asking for classpath,
  instead of running the whole suite
- page is renamed to `test.htm` though `beta.html` is there for
  compatibility

If a developer has an instance of Apache server running, with his
`localhost/aria-templates/` pointing to AT Maven build folder, they may
append the following lines (as an admin) to
`C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf`
and restart the Apache service in order to have equivalent
`localhost/aria-templates-git/` pointing to the root folder of this Git repo,
with compatible URL scheme for running tests:

    <Directory "G:\gh\at">
        AllowOverride None
        Options Indexes
        Order allow,deny
        Allow from all
    </Directory>

    Alias /aria-templates-git "G:\gh\at"

(where `G:\gh\at` is the path of the AT git repo on disk)

and then he may run the test navigating to

    http://localhost/aria-templates-git/test/test.htm?testClasspath=...

(`beta.html` is also there and redirects to `test.htm`).

The advantage of this solution is that the developer doesn't have to start
anything if the Apache daemon is registered as a system service, and
there's no need for setting up any file sync tool, because files are taken
directly from the Git repo and they're not cached by default by Apache on
the server side.

If a developer doesn't have Apache installed, but has Python instead, he
may create an ad-hoc server from command line (from AT root folder)
using for instance those aliases

    alias serve2='python -m SimpleHTTPServer 88' # python2
    alias serve3='python -m http.server 88'      # python3

and then navigate to

    http://localhost:88/test/test.htm?testClasspath=...

Anyway the developer has to set up some server, because dealing with XHR
requests through `file://` protocol is a mess in modern browsers.

Close #1084
refactor Deprecate some long unused jsunit classes

Close #1104
fix #1100 add getServices in PageEngine interface

The `getServices` method is now available in the interface that is used to wrap the instance of page engine available in the initArgs of module controllers declared in the site configuration and in page definitions.

Close #1101.
fix #1108 Fixing popupWidth property for MAC

This commit aims to fix the `popupWidth` configuration property for the MultiAutoComplete widget.
When the `popupWidth` is smaller than the field width, then it is ognored and set to the field width.

This behaviour is required for other `DropDownListTrait`-based widgets, but not for the MultiAutoComplete. This commit makes so that the `popupWidth` is always applied.
fix #1107 preselect in list-based widgets

This commit fixes the bahaviour of list-based widgets when a `preselect` option is set in their configuration.
In particular, when pressing a selection key, only highlighted option(s) will be selected.

The `preselect` option has been added for the `SelectBox` widget of the `aria` library.
feat #1099 Deprecate Escape modifier

Close #1099
fix #1105 Fixing popup position of MAC

This commit fixes the popup position of the MultiAutoComplete widget that should be positioned after the items already inserted inside the text field.
addition of tests for popup position in MultiAutoComplete
fix #1111 popup position with expanded list

Suppose you have a `MultiAutoComplete` with an expand button.

When you add suggestions through the expanded list, its position is now correctly updated.

Also, when clicking on `Select all` or `Deselect all` an error was logged. This commit fixes this.

Close #1114.
feat #1116 Possibility to customize the root module in a page engine-based application

This commit introduces the possibility to customize the site root module in a page engine-based application.
The configuration of the module has to be given as an argument of the start method of the page engine class. It has to extend `aria.pageEngine.SiteRootModule` controller.

Close #1116.
fix #1118 Cleaning of a test on the MultiAutoComplete

The code removed with this commit is useless.
1.5.3
fix #1119 TooltipTestCase
feat #1119 inject page CSS to iframe via TemplateTestCase/FrameATLoader

In TemplateTestCase it's been possible to run a template test in an iframe
and set the `<iframe>`'s CSS itself, but it was not possible to inject the
CSS to the `<body>` of an iframe, and since CSS Templates can't modify global
CSS scope of the window, there way no way to alter global CSS for the
test.

Now it's possible to inject an arbitrary CSS text to the iframe which will
be appended as `<style>` node, as a child of `<head>`.

This fixes the failure of the test
test/aria/widgets/container/dialog/resize/test3/DialogOnResizeTestCase

Close #1119.
fix #1120 atskin issue with MultiSelect in normalErrorFocused state.
fix #1113 widget verticalAlign is not applied to its label
feat #1128 update gitignore/npmignore

Close #1128
fix #1121 MAC with expand button: preselect property not working correctly