Effects: Rewrite

1. Introduces a set of helper methods to easily create and define new effects.
2. Uses clip animations and placeholders instead of wrappers for clip effects.
3. Ensures all animations are detectable as animated

Fixes #10599
Fixes #9477
Fixes #9257
Fixes #9066
Fixes #8867
Fixes #8671
Fixes #8505
Fixes #7885
Fixes #7041

Closes gh-1017
Slider: Fix max calculation, when step is float

Fixes #10721

new _calculateNewMax method uses while loop, the cost should be very minimum
since this method is called one time in life of control, in create method or
when  setOption(max) is called.

below method uses math functions to avoid loop, but this was failing
unit tests of slider_options.

TODO : to avoid while loop in Max Calculation

```

_calculateNewMax: function() {
  var precision = this._precision();
  var multiplier = Math.pow( 10 , precision );
  var max = this.options.max * multiplier ;
  var min = this._valueMin() * multiplier ;
  var step = this.options.step * multiplier ;
  var remainder = ( max - min ) % step;
  this.max = ( ( max - remainder ) / multiplier ).toFixed(precision);
}

```