Expanded Button feature for MultiAutoComplete
fix #1014 Adding MultiAutoComplete highlight properties in AriaSkinBeans

In commit d31b18d16fb9d20413ebb1e8d702e68c82dd6582 (corresponding to #985),
some properties were added to the skin, but were not added to AriaSkinBeans.
This commit adds these properties to AriaSkinBeans.
feat #941 Added color animations and show/hide features, relative sizes and anim control (skip/pause/resume)

- implemented color animations (color name, hexadecimal or RGB notation are accepted)
- show, hide and toggle methods display or hide elements by animating "height", "width" or "opacity" properties
- values like "+=50px" or "-=5%" are accepted
- skip, pause and resume methods for both animations and queues are provided.
- deleted color list except for the 17 fundamental ones
- some minor code improvements
Close #941
fix #1013 Data model undefined when mac in error state

This commit fix a problem with the MAC that was resetting the data model to undefined when the user was inserting an invalid item.
fix #1019 MultiAutoComplete data model update and onchange listener

This commit fixes an issue with the onchange handler not being
called properly when removing options with the close button.
It makes sure the data model is updated properly, and the onchange
listener is called, and called only once when there is a change
in the widget value.

Before this commit, the checkValue method on widget controllers
was called in 2 different cases (for widgets with a drop down popup):
- when a new value comes from the data model bound to the widget
- when a value is selected in the drop down popup.

For the MultiAutoComplete, those two use cases have to be handled
differently, especially because the type of the value is different
(an array of objects in the first case and a single object in the
second case). So, this commit introduces a new method, called
checkDropdownValue, which is now called instead of checkValue in
the second case. This simplifies the code and makes it easier to read.

This commit also moves some code from the widget to the controller to
make the code of the MultiAutoComplete more consistent with other
widgets.

Also, this commit fixes some other issues linked to the "expando"
mode (now the popup stays open to allow checking and unchecking several
options).

Close #987
doc Callback in `Json.addListener` can't be a function

Since it's very untypical, it should be emphasised.

Also, documented when `responseJSON` is available.

Close #1010.
Close #1012.
feat #999 - Added new asserts methods

assertNull, assertNotNull, assertUndefined, assertNotUndefined, assertTruthy, assertFalsy

Close #1004.
fix #1020 Adding properties to the atflatskin for the MAC

Adding the properties in order to display the MultiAutoComplete widget with the atflatskin.