http://git-wip-us.apache.org/repos/asf/flex-typedefs/blob/cc561239/createjs/src/main/patch/easeljs2.patch
----------------------------------------------------------------------
diff --git a/createjs/src/main/patch/easeljs2.patch 
b/createjs/src/main/patch/easeljs2.patch
new file mode 100644
index 0000000..fc7d380
--- /dev/null
+++ b/createjs/src/main/patch/easeljs2.patch
@@ -0,0 +1,8636 @@
+diff -ur ../target/downloads/EaselJS-0.8.0/src/createjs/events/Event.js 
EaselJS-0.8.0/src/createjs/events/Event.js
+--- ../target/downloads/EaselJS-0.8.0/src/createjs/events/Event.js     
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/createjs/events/Event.js 2016-05-31 11:03:07.000000000 
+0200
+@@ -39,10 +39,6 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      "use strict";
+ 
+ // constructor:
+       /**
+@@ -57,7 +53,7 @@
+        * @param {Boolean} cancelable Indicates whether the default behaviour 
of this event can be cancelled.
+        * @constructor
+        **/
+-      function Event(type, bubbles, cancelable) {
++      createjs.Event = function(type, bubbles, cancelable) {
+               
+       
+       // public properties:
+@@ -169,7 +165,7 @@
+               */
+               this.removed = false;
+       }
+-      var p = Event.prototype;
++      
+ 
+       /**
+        * <strong>REMOVED</strong>. Removed in favor of using 
`MySuperClass_constructor`.
+@@ -182,7 +178,7 @@
+        * @protected
+        * @deprecated
+        */
+-      // p.initialize = function() {}; // searchable for devs wondering where 
it is.
++      // createjs.Event.prototype.initialize = function() {}; // searchable 
for devs wondering where it is.
+ 
+ // public methods:
+       /**
+@@ -190,7 +186,7 @@
+        * Mirrors the DOM event standard.
+        * @method preventDefault
+        **/
+-      p.preventDefault = function() {
++ createjs.Event.prototype.preventDefault = function() {
+               this.defaultPrevented = this.cancelable&&true;
+       };
+ 
+@@ -199,7 +195,7 @@
+        * Mirrors the DOM event standard.
+        * @method stopPropagation
+        **/
+-      p.stopPropagation = function() {
++ createjs.Event.prototype.stopPropagation = function() {
+               this.propagationStopped = true;
+       };
+ 
+@@ -209,7 +205,7 @@
+        * Mirrors the DOM event standard.
+        * @method stopImmediatePropagation
+        **/
+-      p.stopImmediatePropagation = function() {
++ createjs.Event.prototype.stopImmediatePropagation = function() {
+               this.immediatePropagationStopped = this.propagationStopped = 
true;
+       };
+       
+@@ -223,7 +219,7 @@
+        * 
+        * @method remove
+        **/
+-      p.remove = function() {
++ createjs.Event.prototype.remove = function() {
+               this.removed = true;
+       };
+       
+@@ -232,7 +228,7 @@
+        * @method clone
+        * @return {Event} a clone of the Event instance.
+        **/
+-      p.clone = function() {
++ createjs.Event.prototype.clone = function() {
+               return new Event(this.type, this.bubbles, this.cancelable);
+       };
+       
+@@ -244,7 +240,7 @@
+        * @return {Event} Returns the instance the method is called on (useful 
for chaining calls.)
+        * @chainable
+       */
+-      p.set = function(props) {
++ createjs.Event.prototype.set = function(props) {
+               for (var n in props) { this[n] = props[n]; }
+               return this;
+       };
+@@ -254,9 +250,9 @@
+        * @method toString
+        * @return {String} a string representation of the instance.
+        **/
+-      p.toString = function() {
++ createjs.Event.prototype.toString = function() {
+               return "[Event (type="+this.type+")]";
+       };
+ 
+-      createjs.Event = Event;
+-}());
++      
++
+diff -ur 
../target/downloads/EaselJS-0.8.0/src/createjs/events/EventDispatcher.js 
EaselJS-0.8.0/src/createjs/events/EventDispatcher.js
+--- ../target/downloads/EaselJS-0.8.0/src/createjs/events/EventDispatcher.js   
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/createjs/events/EventDispatcher.js       2016-05-31 
11:03:07.000000000 +0200
+@@ -31,10 +31,6 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      "use strict";
+ 
+ 
+ // constructor:
+@@ -60,7 +56,7 @@
+        * <h4>Example</h4>
+        * Add EventDispatcher capabilities to the "MyClass" class.
+        *
+-       *      EventDispatcher.initialize(MyClass.prototype);
++       *      createjs.EventDispatcher.initialize(MyClass.prototype);
+        *
+        * Add an event (see {{#crossLink 
"EventDispatcher/addEventListener"}}{{/crossLink}}).
+        *
+@@ -87,7 +83,7 @@
+        * @class EventDispatcher
+        * @constructor
+        **/
+-      function EventDispatcher() {
++      createjs.EventDispatcher = function() {
+       
+       
+       // private properties:
+@@ -105,7 +101,7 @@
+                **/
+               this._captureListeners = null;
+       }
+-      var p = EventDispatcher.prototype;
++      
+ 
+       /**
+        * <strong>REMOVED</strong>. Removed in favor of using 
`MySuperClass_constructor`.
+@@ -118,30 +114,30 @@
+        * @protected
+        * @deprecated
+        */
+-      // p.initialize = function() {}; // searchable for devs wondering where 
it is.
++      // createjs.EventDispatcher.prototype.initialize = function() {}; // 
searchable for devs wondering where it is.
+ 
+ 
+ // static public methods:
+       /**
+        * Static initializer to mix EventDispatcher methods into a target 
object or prototype.
+        * 
+-       *              EventDispatcher.initialize(MyClass.prototype); // add 
to the prototype of the class
+-       *              EventDispatcher.initialize(myObject); // add to a 
specific instance
++       *              createjs.EventDispatcher.initialize(MyClass.prototype); 
// add to the prototype of the class
++       *              createjs.EventDispatcher.initialize(myObject); // add 
to a specific instance
+        * 
+        * @method initialize
+        * @static
+        * @param {Object} target The target object to inject EventDispatcher 
methods into. This can be an instance or a
+        * prototype.
+        **/
+-      EventDispatcher.initialize = function(target) {
+-              target.addEventListener = p.addEventListener;
+-              target.on = p.on;
+-              target.removeEventListener = target.off =  
p.removeEventListener;
+-              target.removeAllEventListeners = p.removeAllEventListeners;
+-              target.hasEventListener = p.hasEventListener;
+-              target.dispatchEvent = p.dispatchEvent;
+-              target._dispatchEvent = p._dispatchEvent;
+-              target.willTrigger = p.willTrigger;
++      createjs.EventDispatcher.initialize = function(target) {
++              target.addEventListener = 
createjs.EventDispatcher.prototype.addEventListener;
++              target.on = createjs.EventDispatcher.prototype.on;
++              target.removeEventListener = target.off =  
createjs.EventDispatcher.prototype.removeEventListener;
++              target.removeAllEventListeners = 
createjs.EventDispatcher.prototype.removeAllEventListeners;
++              target.hasEventListener = 
createjs.EventDispatcher.prototype.hasEventListener;
++              target.dispatchEvent = 
createjs.EventDispatcher.prototype.dispatchEvent;
++              target._dispatchEvent = 
createjs.EventDispatcher.prototype._dispatchEvent;
++              target.willTrigger = 
createjs.EventDispatcher.prototype.willTrigger;
+       };
+       
+ 
+@@ -164,7 +160,7 @@
+        * @param {Boolean} [useCapture] For events that bubble, indicates 
whether to listen for the event in the capture or bubbling/target phase.
+        * @return {Function | Object} Returns the listener for chaining or 
assignment.
+        **/
+-      p.addEventListener = function(type, listener, useCapture) {
++ createjs.EventDispatcher.prototype.addEventListener = function(type, 
listener, useCapture) {
+               var listeners;
+               if (useCapture) {
+                       listeners = this._captureListeners = 
this._captureListeners||{};
+@@ -209,7 +205,7 @@
+        * @param {Boolean} [useCapture=false] For events that bubble, 
indicates whether to listen for the event in the capture or bubbling/target 
phase.
+        * @return {Function} Returns the anonymous function that was created 
and assigned as the listener. This is needed to remove the listener later using 
.removeEventListener.
+        **/
+-      p.on = function(type, listener, scope, once, data, useCapture) {
++ createjs.EventDispatcher.prototype.on = function(type, listener, scope, 
once, data, useCapture) {
+               if (listener.handleEvent) {
+                       scope = scope||listener;
+                       listener = listener.handleEvent;
+@@ -237,7 +233,7 @@
+        * @param {Function | Object} listener The listener function or object.
+        * @param {Boolean} [useCapture] For events that bubble, indicates 
whether to listen for the event in the capture or bubbling/target phase.
+        **/
+-      p.removeEventListener = function(type, listener, useCapture) {
++ createjs.EventDispatcher.prototype.removeEventListener = function(type, 
listener, useCapture) {
+               var listeners = useCapture ? this._captureListeners : 
this._listeners;
+               if (!listeners) { return; }
+               var arr = listeners[type];
+@@ -260,7 +256,7 @@
+        * @param {Function | Object} listener The listener function or object.
+        * @param {Boolean} [useCapture] For events that bubble, indicates 
whether to listen for the event in the capture or bubbling/target phase.
+        **/
+-      p.off = p.removeEventListener;
++ createjs.EventDispatcher.prototype.off = 
createjs.EventDispatcher.prototype.removeEventListener;
+ 
+       /**
+        * Removes all listeners for the specified type, or all listeners of 
all types.
+@@ -276,7 +272,7 @@
+        * @method removeAllEventListeners
+        * @param {String} [type] The string type of the event. If omitted, all 
listeners for all types will be removed.
+        **/
+-      p.removeAllEventListeners = function(type) {
++ createjs.EventDispatcher.prototype.removeAllEventListeners = function(type) {
+               if (!type) { this._listeners = this._captureListeners = null; }
+               else {
+                       if (this._listeners) { delete(this._listeners[type]); }
+@@ -302,7 +298,7 @@
+        * dispatchEvent will construct an Event instance with the specified 
type.
+        * @return {Boolean} Returns the value of eventObj.defaultPrevented.
+        **/
+-      p.dispatchEvent = function(eventObj) {
++ createjs.EventDispatcher.prototype.dispatchEvent = function(eventObj) {
+               if (typeof eventObj == "string") {
+                       // won't bubble, so skip everything if there's no 
listeners:
+                       var listeners = this._listeners;
+@@ -339,7 +335,7 @@
+        * @param {String} type The string type of the event.
+        * @return {Boolean} Returns true if there is at least one listener for 
the specified event.
+        **/
+-      p.hasEventListener = function(type) {
++ createjs.EventDispatcher.prototype.hasEventListener = function(type) {
+               var listeners = this._listeners, captureListeners = 
this._captureListeners;
+               return !!((listeners && listeners[type]) || (captureListeners 
&& captureListeners[type]));
+       };
+@@ -355,7 +351,7 @@
+        * @param {String} type The string type of the event.
+        * @return {Boolean} Returns `true` if there is at least one listener 
for the specified event.
+        **/
+-      p.willTrigger = function(type) {
++ createjs.EventDispatcher.prototype.willTrigger = function(type) {
+               var o = this;
+               while (o) {
+                       if (o.hasEventListener(type)) { return true; }
+@@ -368,7 +364,7 @@
+        * @method toString
+        * @return {String} a string representation of the instance.
+        **/
+-      p.toString = function() {
++ createjs.EventDispatcher.prototype.toString = function() {
+               return "[EventDispatcher]";
+       };
+ 
+@@ -380,7 +376,7 @@
+        * @param {Object} eventPhase
+        * @protected
+        **/
+-      p._dispatchEvent = function(eventObj, eventPhase) {
++ createjs.EventDispatcher.prototype._dispatchEvent = function(eventObj, 
eventPhase) {
+               var l, listeners = (eventPhase==1) ? this._captureListeners : 
this._listeners;
+               if (eventObj && listeners) {
+                       var arr = listeners[eventObj.type];
+@@ -403,5 +399,5 @@
+       };
+ 
+ 
+-      createjs.EventDispatcher = EventDispatcher;
+-}());
++      
++
+diff -ur ../target/downloads/EaselJS-0.8.0/src/createjs/utils/Ticker.js 
EaselJS-0.8.0/src/createjs/utils/Ticker.js
+--- ../target/downloads/EaselJS-0.8.0/src/createjs/utils/Ticker.js     
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/createjs/utils/Ticker.js 2016-05-31 11:03:08.000000000 
+0200
+@@ -31,10 +31,6 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      "use strict";
+ 
+ 
+ // constructor:
+@@ -43,7 +39,7 @@
+        * event to be notified when a set time interval has elapsed.
+        *
+        * Note that the interval that the tick event is called is a target 
interval, and may be broadcast at a slower interval
+-       * when under high CPU load. The Ticker class uses a static interface 
(ex. `Ticker.framerate = 30;`) and
++       * when under high CPU load. The Ticker class uses a static interface 
(ex. `createjs.Ticker.framerate = 30;`) and
+        * can not be instantiated.
+        *
+        * <h4>Example</h4>
+@@ -60,7 +56,7 @@
+        * @uses EventDispatcher
+        * @static
+        **/
+-      function Ticker() {
++      createjs.Ticker = function() {
+               throw "Ticker cannot be instantiated.";
+       }
+ 
+@@ -84,7 +80,7 @@
+        * @default "synched"
+        * @readonly
+        **/
+-      Ticker.RAF_SYNCHED = "synched";
++      createjs.Ticker.RAF_SYNCHED = "synched";
+ 
+       /**
+        * In this mode, Ticker passes through the requestAnimationFrame 
heartbeat, ignoring the target framerate completely.
+@@ -99,7 +95,7 @@
+        * @default "raf"
+        * @readonly
+        **/
+-      Ticker.RAF = "raf";
++      createjs.Ticker.RAF = "raf";
+ 
+       /**
+        * In this mode, Ticker uses the setTimeout API. This provides 
predictable, adaptive frame timing, but does not
+@@ -110,7 +106,7 @@
+        * @default "timer"
+        * @readonly
+        **/
+-      Ticker.TIMEOUT = "timeout";
++      createjs.Ticker.TIMEOUT = "timeout";
+ 
+ 
+ // static events:
+@@ -147,7 +143,7 @@
+        * @type {Boolean}
+        * @default false
+        **/
+-      Ticker.useRAF = false;
++      createjs.Ticker.useRAF = false;
+ 
+       /**
+        * Specifies the timing api (setTimeout or requestAnimationFrame) and 
mode to use. See
+@@ -156,9 +152,9 @@
+        * @property timingMode
+        * @static
+        * @type {String}
+-       * @default Ticker.TIMEOUT
++       * @default createjs.Ticker.TIMEOUT
+        **/
+-      Ticker.timingMode = null;
++      createjs.Ticker.timingMode = null;
+ 
+       /**
+        * Specifies a maximum value for the delta property in the tick event 
object. This is useful when building time
+@@ -175,7 +171,7 @@
+        * @type {number}
+        * @default 0
+        */
+-      Ticker.maxDelta = 0;
++      createjs.Ticker.maxDelta = 0;
+       
+       /**
+        * When the ticker is paused, all listeners will still receive a tick 
event, but the <code>paused</code> property of the event will be false.
+@@ -197,21 +193,21 @@
+        * @type {Boolean}
+        * @default false
+        **/
+-      Ticker.paused = false;
++      createjs.Ticker.paused = false;
+ 
+ 
+ // mix-ins:
+       // EventDispatcher methods:
+-      Ticker.removeEventListener = null;
+-      Ticker.removeAllEventListeners = null;
+-      Ticker.dispatchEvent = null;
+-      Ticker.hasEventListener = null;
+-      Ticker._listeners = null;
++      createjs.Ticker.removeEventListener = null;
++      createjs.Ticker.removeAllEventListeners = null;
++      createjs.Ticker.dispatchEvent = null;
++      createjs.Ticker.hasEventListener = null;
++      createjs.Ticker._listeners = null;
+       createjs.EventDispatcher.initialize(Ticker); // inject EventDispatcher 
methods.
+-      Ticker._addEventListener = Ticker.addEventListener;
+-      Ticker.addEventListener = function() {
+-              !Ticker._inited&&Ticker.init();
+-              return Ticker._addEventListener.apply(Ticker, arguments);
++      createjs.Ticker._addEventListener = createjs.Ticker.addEventListener;
++      createjs.Ticker.addEventListener = function() {
++              !createjs.Ticker._inited&&createjs.Ticker.init();
++              return createjs.Ticker._addEventListener.apply(Ticker, 
arguments);
+       };
+ 
+ 
+@@ -222,7 +218,7 @@
+        * @type {Boolean}
+        * @protected
+        **/
+-      Ticker._inited = false;
++      createjs.Ticker._inited = false;
+ 
+       /**
+        * @property _startTime
+@@ -230,7 +226,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._startTime = 0;
++      createjs.Ticker._startTime = 0;
+ 
+       /**
+        * @property _pausedTime
+@@ -238,7 +234,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._pausedTime=0;
++      createjs.Ticker._pausedTime=0;
+ 
+       /**
+        * The number of ticks that have passed
+@@ -247,7 +243,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._ticks = 0;
++      createjs.Ticker._ticks = 0;
+ 
+       /**
+        * The number of ticks that have passed while Ticker has been paused
+@@ -256,7 +252,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._pausedTicks = 0;
++      createjs.Ticker._pausedTicks = 0;
+ 
+       /**
+        * @property _interval
+@@ -264,7 +260,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._interval = 50;
++      createjs.Ticker._interval = 50;
+ 
+       /**
+        * @property _lastTime
+@@ -272,7 +268,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._lastTime = 0;
++      createjs.Ticker._lastTime = 0;
+ 
+       /**
+        * @property _times
+@@ -280,7 +276,7 @@
+        * @type {Array}
+        * @protected
+        **/
+-      Ticker._times = null;
++      createjs.Ticker._times = null;
+ 
+       /**
+        * @property _tickTimes
+@@ -288,7 +284,7 @@
+        * @type {Array}
+        * @protected
+        **/
+-      Ticker._tickTimes = null;
++      createjs.Ticker._tickTimes = null;
+ 
+       /**
+        * Stores the timeout or requestAnimationFrame id.
+@@ -297,7 +293,7 @@
+        * @type {Number}
+        * @protected
+        **/
+-      Ticker._timerId = null;
++      createjs.Ticker._timerId = null;
+       
+       /**
+        * True if currently using requestAnimationFrame, false if using 
setTimeout. This may be different than timingMode
+@@ -307,7 +303,7 @@
+        * @type {Boolean}
+        * @protected
+        **/
+-      Ticker._raf = true;
++      createjs.Ticker._raf = true;
+       
+ 
+ // static getter / setters:
+@@ -318,10 +314,10 @@
+        * @param {Number} interval
+        * @deprecated
+        **/
+-      Ticker.setInterval = function(interval) {
+-              Ticker._interval = interval;
+-              if (!Ticker._inited) { return; }
+-              Ticker._setupTick();
++      createjs.Ticker.setInterval = function(interval) {
++              createjs.Ticker._interval = interval;
++              if (!createjs.Ticker._inited) { return; }
++              createjs.Ticker._setupTick();
+       };
+ 
+       /**
+@@ -331,8 +327,8 @@
+        * @return {Number}
+        * @deprecated
+        **/
+-      Ticker.getInterval = function() {
+-              return Ticker._interval;
++      createjs.Ticker.getInterval = function() {
++              return createjs.Ticker._interval;
+       };
+ 
+       /**
+@@ -342,8 +338,8 @@
+        * @param {Number} value
+        * @deprecated
+        **/
+-      Ticker.setFPS = function(value) {
+-              Ticker.setInterval(1000/value);
++      createjs.Ticker.setFPS = function(value) {
++              createjs.Ticker.setInterval(1000/value);
+       };
+ 
+       /**
+@@ -353,66 +349,42 @@
+        * @return {Number}
+        * @deprecated
+        **/
+-      Ticker.getFPS = function() {
+-              return 1000/Ticker._interval;
++      createjs.Ticker.getFPS = function() {
++              return 1000/createjs.Ticker._interval;
+       };
+ 
+-      /**
+-       * Indicates the target time (in milliseconds) between ticks. Default 
is 50 (20 FPS).
+-       * Note that actual time between ticks may be more than specified 
depending on CPU load.
+-       * This property is ignored if the ticker is using the `RAF` timing 
mode.
+-       * @property interval
+-       * @static
+-       * @type {Number}
+-       **/
+-       
+-      /**
+-       * Indicates the target frame rate in frames per second (FPS). 
Effectively just a shortcut to `interval`, where
+-       * `framerate == 1000/interval`.
+-       * @property framerate
+-       * @static
+-       * @type {Number}
+-       **/
+-      try {
+-              Object.defineProperties(Ticker, {
+-                      interval: { get: Ticker.getInterval, set: 
Ticker.setInterval },
+-                      framerate: { get: Ticker.getFPS, set: Ticker.setFPS }
+-              });
+-      } catch (e) { console.log(e); }
+-
+-
+ // public static methods:
+       /**
+        * Starts the tick. This is called automatically when the first 
listener is added.
+        * @method init
+        * @static
+        **/
+-      Ticker.init = function() {
+-              if (Ticker._inited) { return; }
+-              Ticker._inited = true;
+-              Ticker._times = [];
+-              Ticker._tickTimes = [];
+-              Ticker._startTime = Ticker._getTime();
+-              Ticker._times.push(Ticker._lastTime = 0);
+-              Ticker.interval = Ticker._interval;
++      createjs.Ticker.init = function() {
++              if (createjs.Ticker._inited) { return; }
++              createjs.Ticker._inited = true;
++              createjs.Ticker._times = [];
++              createjs.Ticker._tickTimes = [];
++              createjs.Ticker._startTime = createjs.Ticker._getTime();
++              createjs.Ticker._times.push(createjs.Ticker._lastTime = 0);
++              createjs.Ticker.interval = createjs.Ticker._interval;
+       };
+       
+       /**
+-       * Stops the Ticker and removes all listeners. Use init() to restart 
the Ticker.
++       * Stops the Ticker and removes all listeners. Use init() to restart 
the createjs.Ticker.
+        * @method reset
+        * @static
+        **/
+-      Ticker.reset = function() {
+-              if (Ticker._raf) {
++      createjs.Ticker.reset = function() {
++              if (createjs.Ticker._raf) {
+                       var f = window.cancelAnimationFrame || 
window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || 
window.oCancelAnimationFrame || window.msCancelAnimationFrame;
+-                      f&&f(Ticker._timerId);
++                      f&&f(createjs.Ticker._timerId);
+               } else {
+-                      clearTimeout(Ticker._timerId);
++                      clearTimeout(createjs.Ticker._timerId);
+               }
+-              Ticker.removeAllEventListeners("tick");
+-              Ticker._timerId = Ticker._times = Ticker._tickTimes = null;
+-              Ticker._startTime = Ticker._lastTime = Ticker._ticks = 0;
+-              Ticker._inited = false;
++              createjs.Ticker.removeAllEventListeners("tick");
++              createjs.Ticker._timerId = createjs.Ticker._times = 
createjs.Ticker._tickTimes = null;
++              createjs.Ticker._startTime = createjs.Ticker._lastTime = 
createjs.Ticker._ticks = 0;
++              createjs.Ticker._inited = false;
+       };
+ 
+       /**
+@@ -432,12 +404,12 @@
+        * Defaults to the number of ticks per second. To get only the last 
tick's time, pass in 1.
+        * @return {Number} The average time spent in a tick in milliseconds.
+        **/
+-      Ticker.getMeasuredTickTime = function(ticks) {
+-              var ttl=0, times=Ticker._tickTimes;
++      createjs.Ticker.getMeasuredTickTime = function(ticks) {
++              var ttl=0, times=createjs.Ticker._tickTimes;
+               if (!times || times.length < 1) { return -1; }
+ 
+               // by default, calculate average for the past ~1 second:
+-              ticks = Math.min(times.length, ticks||(Ticker.getFPS()|0));
++              ticks = Math.min(times.length, 
ticks||(createjs.Ticker.getFPS()|0));
+               for (var i=0; i<ticks; i++) { ttl += times[i]; }
+               return ttl/ticks;
+       };
+@@ -451,12 +423,12 @@
+        * @return {Number} The actual frames / ticks per second. Depending on 
performance, this may differ
+        * from the target frames per second.
+        **/
+-      Ticker.getMeasuredFPS = function(ticks) {
+-              var times = Ticker._times;
++      createjs.Ticker.getMeasuredFPS = function(ticks) {
++              var times = createjs.Ticker._times;
+               if (!times || times.length < 2) { return -1; }
+ 
+               // by default, calculate fps for the past ~1 second:
+-              ticks = Math.min(times.length-1, ticks||(Ticker.getFPS()|0));
++              ticks = Math.min(times.length-1, 
ticks||(createjs.Ticker.getFPS()|0));
+               return 1000/((times[0]-times[ticks])/ticks);
+       };
+ 
+@@ -467,9 +439,9 @@
+        * @param {Boolean} value
+        * @deprecated
+        **/
+-      Ticker.setPaused = function(value) {
++      createjs.Ticker.setPaused = function(value) {
+               // TODO: deprecated.
+-              Ticker.paused = value;
++              createjs.Ticker.paused = value;
+       };
+ 
+       /**
+@@ -479,9 +451,9 @@
+        * @return {Boolean}
+        * @deprecated
+        **/
+-      Ticker.getPaused = function() {
++      createjs.Ticker.getPaused = function() {
+               // TODO: deprecated.
+-              return Ticker.paused;
++              return createjs.Ticker.paused;
+       };
+ 
+       /**
+@@ -494,8 +466,8 @@
+        * If false, the value returned will be total time elapsed since the 
first tick event listener was added.
+        * @return {Number} Number of milliseconds that have elapsed since 
Ticker was initialized or -1.
+        **/
+-      Ticker.getTime = function(runTime) {
+-              return Ticker._startTime ? Ticker._getTime() - (runTime ? 
Ticker._pausedTime : 0) : -1;
++      createjs.Ticker.getTime = function(runTime) {
++              return createjs.Ticker._startTime ? createjs.Ticker._getTime() 
- (runTime ? createjs.Ticker._pausedTime : 0) : -1;
+       };
+ 
+       /**
+@@ -505,12 +477,12 @@
+        * @param runTime {Boolean} [runTime=false] If true, the runTime 
property will be returned instead of time.
+        * @returns {number} The time or runTime property from the most recent 
tick event or -1.
+        */
+-      Ticker.getEventTime = function(runTime) {
+-              return Ticker._startTime ? (Ticker._lastTime || 
Ticker._startTime) - (runTime ? Ticker._pausedTime : 0) : -1;
++      createjs.Ticker.getEventTime = function(runTime) {
++              return createjs.Ticker._startTime ? (createjs.Ticker._lastTime 
|| createjs.Ticker._startTime) - (runTime ? createjs.Ticker._pausedTime : 0) : 
-1;
+       };
+       
+       /**
+-       * Returns the number of ticks that have been broadcast by Ticker.
++       * Returns the number of ticks that have been broadcast by 
createjs.Ticker.
+        * @method getTicks
+        * @static
+        * @param {Boolean} pauseable Indicates whether to include ticks that 
would have been broadcast
+@@ -519,8 +491,8 @@
+        * value. The default value is false.
+        * @return {Number} of ticks that have been broadcast.
+        **/
+-      Ticker.getTicks = function(pauseable) {
+-              return  Ticker._ticks - (pauseable ? Ticker._pausedTicks : 0);
++      createjs.Ticker.getTicks = function(pauseable) {
++              return  createjs.Ticker._ticks - (pauseable ? 
createjs.Ticker._pausedTicks : 0);
+       };
+ 
+ 
+@@ -530,13 +502,13 @@
+        * @static
+        * @protected
+        **/
+-      Ticker._handleSynch = function() {
+-              Ticker._timerId = null;
+-              Ticker._setupTick();
++      createjs.Ticker._handleSynch = function() {
++              createjs.Ticker._timerId = null;
++              createjs.Ticker._setupTick();
+ 
+               // run if enough time has elapsed, with a little bit of 
flexibility to be early:
+-              if (Ticker._getTime() - Ticker._lastTime >= 
(Ticker._interval-1)*0.97) {
+-                      Ticker._tick();
++              if (createjs.Ticker._getTime() - createjs.Ticker._lastTime >= 
(createjs.Ticker._interval-1)*0.97) {
++                      createjs.Ticker._tick();
+               }
+       };
+ 
+@@ -545,10 +517,10 @@
+        * @static
+        * @protected
+        **/
+-      Ticker._handleRAF = function() {
+-              Ticker._timerId = null;
+-              Ticker._setupTick();
+-              Ticker._tick();
++      createjs.Ticker._handleRAF = function() {
++              createjs.Ticker._timerId = null;
++              createjs.Ticker._setupTick();
++              createjs.Ticker._tick();
+       };
+ 
+       /**
+@@ -556,10 +528,10 @@
+        * @static
+        * @protected
+        **/
+-      Ticker._handleTimeout = function() {
+-              Ticker._timerId = null;
+-              Ticker._setupTick();
+-              Ticker._tick();
++      createjs.Ticker._handleTimeout = function() {
++              createjs.Ticker._timerId = null;
++              createjs.Ticker._setupTick();
++              createjs.Ticker._tick();
+       };
+ 
+       /**
+@@ -567,20 +539,20 @@
+        * @static
+        * @protected
+        **/
+-      Ticker._setupTick = function() {
+-              if (Ticker._timerId != null) { return; } // avoid duplicates
++      createjs.Ticker._setupTick = function() {
++              if (createjs.Ticker._timerId != null) { return; } // avoid 
duplicates
+ 
+-              var mode = 
Ticker.timingMode||(Ticker.useRAF&&Ticker.RAF_SYNCHED);
+-              if (mode == Ticker.RAF_SYNCHED || mode == Ticker.RAF) {
++              var mode = 
createjs.Ticker.timingMode||(createjs.Ticker.useRAF&&createjs.Ticker.RAF_SYNCHED);
++              if (mode == createjs.Ticker.RAF_SYNCHED || mode == 
createjs.Ticker.RAF) {
+                       var f = window.requestAnimationFrame || 
window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || 
window.oRequestAnimationFrame || window.msRequestAnimationFrame;
+                       if (f) {
+-                              Ticker._timerId = f(mode == Ticker.RAF ? 
Ticker._handleRAF : Ticker._handleSynch);
+-                              Ticker._raf = true;
++                              createjs.Ticker._timerId = f(mode == 
createjs.Ticker.RAF ? createjs.Ticker._handleRAF : 
createjs.Ticker._handleSynch);
++                              createjs.Ticker._raf = true;
+                               return;
+                       }
+               }
+-              Ticker._raf = false;
+-              Ticker._timerId = setTimeout(Ticker._handleTimeout, 
Ticker._interval);
++              createjs.Ticker._raf = false;
++              createjs.Ticker._timerId = 
setTimeout(createjs.Ticker._handleTimeout, createjs.Ticker._interval);
+       };
+ 
+       /**
+@@ -588,33 +560,33 @@
+        * @static
+        * @protected
+        **/
+-      Ticker._tick = function() {
+-              var paused = Ticker.paused;
+-              var time = Ticker._getTime();
+-              var elapsedTime = time-Ticker._lastTime;
+-              Ticker._lastTime = time;
+-              Ticker._ticks++;
++      createjs.Ticker._tick = function() {
++              var paused = createjs.Ticker.paused;
++              var time = createjs.Ticker._getTime();
++              var elapsedTime = time-createjs.Ticker._lastTime;
++              createjs.Ticker._lastTime = time;
++              createjs.Ticker._ticks++;
+               
+               if (paused) {
+-                      Ticker._pausedTicks++;
+-                      Ticker._pausedTime += elapsedTime;
++                      createjs.Ticker._pausedTicks++;
++                      createjs.Ticker._pausedTime += elapsedTime;
+               }
+               
+-              if (Ticker.hasEventListener("tick")) {
++              if (createjs.Ticker.hasEventListener("tick")) {
+                       var event = new createjs.Event("tick");
+-                      var maxDelta = Ticker.maxDelta;
++                      var maxDelta = createjs.Ticker.maxDelta;
+                       event.delta = (maxDelta && elapsedTime > maxDelta) ? 
maxDelta : elapsedTime;
+                       event.paused = paused;
+                       event.time = time;
+-                      event.runTime = time-Ticker._pausedTime;
+-                      Ticker.dispatchEvent(event);
++                      event.runTime = time-createjs.Ticker._pausedTime;
++                      createjs.Ticker.dispatchEvent(event);
+               }
+               
+-              Ticker._tickTimes.unshift(Ticker._getTime()-time);
+-              while (Ticker._tickTimes.length > 100) { 
Ticker._tickTimes.pop(); }
++              
createjs.Ticker._tickTimes.unshift(createjs.Ticker._getTime()-time);
++              while (createjs.Ticker._tickTimes.length > 100) { 
createjs.Ticker._tickTimes.pop(); }
+ 
+-              Ticker._times.unshift(time);
+-              while (Ticker._times.length > 100) { Ticker._times.pop(); }
++              createjs.Ticker._times.unshift(time);
++              while (createjs.Ticker._times.length > 100) { 
createjs.Ticker._times.pop(); }
+       };
+ 
+       /**
+@@ -623,10 +595,10 @@
+        * @protected
+        **/
+       var now = window.performance && (performance.now || performance.mozNow 
|| performance.msNow || performance.oNow || performance.webkitNow);
+-      Ticker._getTime = function() {
+-              return ((now&&now.call(performance))||(new Date().getTime())) - 
Ticker._startTime;
++      createjs.Ticker._getTime = function() {
++              return ((now&&now.call(performance))||(new Date().getTime())) - 
createjs.Ticker._startTime;
+       };
+ 
+ 
+-      createjs.Ticker = Ticker;
+-}());
++      
++
+diff -ur ../target/downloads/EaselJS-0.8.0/src/createjs/utils/extend.js 
EaselJS-0.8.0/src/createjs/utils/extend.js
+--- ../target/downloads/EaselJS-0.8.0/src/createjs/utils/extend.js     
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/createjs/utils/extend.js 2016-05-31 11:03:07.000000000 
+0200
+@@ -31,7 +31,7 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
++
+ 
+ /**
+  * @class Utility Methods
+@@ -52,11 +52,10 @@
+  *
+  * @method extend
+  * @param {Function} subclass The subclass.
+- * @param {Function} superclass The superclass to extend.
++ * @param {Function} superclass The superclass to createjs.extend.
+  * @return {Function} Returns the subclass's new prototype.
+  */
+ createjs.extend = function(subclass, superclass) {
+-      "use strict";
+ 
+       function o() { this.constructor = subclass; }
+       o.prototype = superclass.prototype;
+diff -ur ../target/downloads/EaselJS-0.8.0/src/createjs/utils/indexOf.js 
EaselJS-0.8.0/src/createjs/utils/indexOf.js
+--- ../target/downloads/EaselJS-0.8.0/src/createjs/utils/indexOf.js    
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/createjs/utils/indexOf.js        2016-05-31 
11:03:07.000000000 +0200
+@@ -31,7 +31,7 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
++
+ 
+ /**
+  * @class Utility Methods
+@@ -49,7 +49,6 @@
+  * @return {Number} The first index of searchElement in array.
+  */
+ createjs.indexOf = function (array, searchElement){
+-      "use strict";
+ 
+       for (var i = 0,l=array.length; i < l; i++) {
+               if (searchElement === array[i]) {
+diff -ur ../target/downloads/EaselJS-0.8.0/src/createjs/utils/promote.js 
EaselJS-0.8.0/src/createjs/utils/promote.js
+--- ../target/downloads/EaselJS-0.8.0/src/createjs/utils/promote.js    
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/createjs/utils/promote.js        2016-05-31 
11:03:08.000000000 +0200
+@@ -31,7 +31,7 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
++
+ 
+ /**
+  * @class Utility Methods
+@@ -75,7 +75,6 @@
+  * @return {Function} Returns the subclass.
+  */
+ createjs.promote = function(subclass, prefix) {
+-      "use strict";
+ 
+       var subP = subclass.prototype, supP = 
(Object.getPrototypeOf&&Object.getPrototypeOf(subP))||subP.__proto__;
+       if (supP) {
+diff -ur ../target/downloads/EaselJS-0.8.0/src/easeljs/display/Bitmap.js 
EaselJS-0.8.0/src/easeljs/display/Bitmap.js
+--- ../target/downloads/EaselJS-0.8.0/src/easeljs/display/Bitmap.js    
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/easeljs/display/Bitmap.js        2016-05-31 
11:03:08.000000000 +0200
+@@ -31,11 +31,7 @@
+ */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      
+-      /**
++/**
+        * A Bitmap represents an Image, Canvas, or Video in the display list. 
A Bitmap can be instantiated using an existing
+        * HTML element, or a string.
+        *
+@@ -57,13 +53,13 @@
+        * </ol>
+        *
+        * @class Bitmap
+-       * @extends DisplayObject
++       * @extends createjs.DisplayObject
+        * @constructor
+        * @param {Image | HTMLCanvasElement | HTMLVideoElement | String} 
imageOrUri The source object or URI to an image to
+        * display. This can be either an Image, Canvas, or Video object, or a 
string URI to an image file to load and use.
+        * If it is a URI, a new Image object will be constructed and assigned 
to the .image property.
+        **/
+-      function Bitmap(imageOrUri) {
++      createjs.Bitmap = function(imageOrUri) {
+               this.DisplayObject_constructor();
+               
+               
+@@ -90,7 +86,7 @@
+                */
+               this.sourceRect = null;
+       }
+-      var p = createjs.extend(Bitmap, createjs.DisplayObject);
++      
+       
+       
+ // public methods:
+@@ -100,7 +96,7 @@
+        * @method initialize
+        * @deprecated in favour of `createjs.promote()`
+        **/
+-      p.initialize = Bitmap; // TODO: deprecated.
++ createjs.Bitmap.prototype.initialize = Bitmap; // TODO: deprecated.
+ 
+       /**
+        * Returns true or false indicating whether the display object would be 
visible if drawn to a canvas.
+@@ -110,7 +106,7 @@
+        * @method isVisible
+        * @return {Boolean} Boolean indicating whether the display object 
would be visible if drawn to a canvas
+        **/
+-      p.isVisible = function() {
++ createjs.Bitmap.prototype.isVisible = function() {
+               var hasContent = this.cacheCanvas || (this.image && 
(this.image.complete || this.image.getContext || this.image.readyState >= 2));
+               return !!(this.visible && this.alpha > 0 && this.scaleX != 0 && 
this.scaleY != 0 && hasContent);
+       };
+@@ -127,7 +123,7 @@
+        * into itself).
+        * @return {Boolean}
+        **/
+-      p.draw = function(ctx, ignoreCache) {
++ createjs.Bitmap.prototype.draw = function(ctx, ignoreCache) {
+               if (this.DisplayObject_draw(ctx, ignoreCache) || !this.image) { 
return true; }
+               var img = this.image, rect = this.sourceRect;
+               if (rect) {
+@@ -145,7 +141,7 @@
+       };
+       
+       //Note, the doc sections below document using the specified APIs (from 
DisplayObject)  from
+-      //Bitmap. This is why they have no method implementations.
++      //createjs.Bitmap. This is why they have no method implementations.
+       
+       /**
+        * Because the content of a Bitmap is already in a simple format, cache 
is unnecessary for Bitmap instances.
+@@ -180,7 +176,7 @@
+       /**
+        * Docced in superclass.
+        */
+-      p.getBounds = function() {
++ createjs.Bitmap.prototype.getBounds = function() {
+               var rect = this.DisplayObject_getBounds();
+               if (rect) { return rect; }
+               var o = this.sourceRect || this.image;
+@@ -193,7 +189,7 @@
+        * @method clone
+        * @return {Bitmap} a clone of the Bitmap instance.
+        **/
+-      p.clone = function() {
++ createjs.Bitmap.prototype.clone = function() {
+               var o = new Bitmap(this.image);
+               if (this.sourceRect) { o.sourceRect = this.sourceRect.clone(); }
+               this._cloneProps(o);
+@@ -205,10 +201,10 @@
+        * @method toString
+        * @return {String} a string representation of the instance.
+        **/
+-      p.toString = function() {
++ createjs.Bitmap.prototype.toString = function() {
+               return "[Bitmap (name="+  this.name +")]";
+       };
+ 
+       
+-      createjs.Bitmap = createjs.promote(Bitmap, "DisplayObject");
+-}());
++      
++
+diff -ur ../target/downloads/EaselJS-0.8.0/src/easeljs/display/BitmapText.js 
EaselJS-0.8.0/src/easeljs/display/BitmapText.js
+--- ../target/downloads/EaselJS-0.8.0/src/easeljs/display/BitmapText.js        
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/easeljs/display/BitmapText.js    2016-05-31 
11:03:07.000000000 +0200
+@@ -26,11 +26,6 @@
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+ 
+-this.createjs = this.createjs || {};
+-
+-(function () {
+-      "use strict";
+-
+ 
+ // constructor:
+       /**
+@@ -42,12 +37,12 @@
+        * <strong>Important:</strong> BitmapText extends Container, but is not 
designed to be used as one.
+        * As such, methods like addChild and removeChild are disabled.
+        * @class BitmapText
+-       * @extends DisplayObject
++       * @extends createjs.DisplayObject
+        * @param {String} [text=""] The text to display.
+-       * @param {SpriteSheet} [spriteSheet=null] The spritesheet that defines 
the character glyphs.
++       * @param {createjs.SpriteSheet} [spriteSheet=null] The spritesheet 
that defines the character glyphs.
+        * @constructor
+        **/
+-      function BitmapText(text, spriteSheet) {
++      createjs.BitmapText = function(text, spriteSheet) {
+               this.Container_constructor();
+               
+               
+@@ -122,7 +117,7 @@
+                **/
+               this._oldProps = 
{text:0,spriteSheet:0,lineHeight:0,letterSpacing:0,spaceWidth:0};
+       }
+-      var p = createjs.extend(BitmapText, createjs.Container);
++      
+ 
+       /**
+        * <strong>REMOVED</strong>. Removed in favor of using 
`MySuperClass_constructor`.
+@@ -135,7 +130,7 @@
+        * @protected
+        * @deprecated
+        */
+-      // p.initialize = function() {}; // searchable for devs wondering where 
it is.
++      // createjs.BitmapText.prototype.initialize = function() {}; // 
searchable for devs wondering where it is.
+ 
+ // static properties:
+       /**
+@@ -147,7 +142,7 @@
+        * @static
+        * @default 100
+        **/
+-      BitmapText.maxPoolSize = 100;
++      createjs.BitmapText.maxPoolSize = 100;
+       
+       /**
+        * Sprite object pool.
+@@ -155,14 +150,14 @@
+        * @static
+        * @private
+        */
+-      BitmapText._spritePool = [];
++      createjs.BitmapText._spritePool = [];
+ 
+       
+ // public methods:
+       /**
+        * Docced in superclass.
+        **/
+-      p.draw = function(ctx, ignoreCache) {
++ createjs.BitmapText.prototype.draw = function(ctx, ignoreCache) {
+               if (this.DisplayObject_draw(ctx, ignoreCache)) { return; }
+               this._updateText();
+               this.Container_draw(ctx, ignoreCache);
+@@ -171,7 +166,7 @@
+       /**
+        * Docced in superclass.
+        **/
+-      p.getBounds = function() {
++ createjs.BitmapText.prototype.getBounds = function() {
+               this._updateText();
+               return this.Container_getBounds();
+       };
+@@ -183,36 +178,36 @@
+        * @method isVisible
+        * @return {Boolean} Boolean indicating whether the display object 
would be visible if drawn to a canvas
+        **/
+-      p.isVisible = function() {
++ createjs.BitmapText.prototype.isVisible = function() {
+               var hasContent = this.cacheCanvas || (this.spriteSheet && 
this.spriteSheet.complete && this.text);
+               return !!(this.visible && this.alpha > 0 && this.scaleX !== 0 
&& this.scaleY !== 0 && hasContent);
+       };
+       
+-      p.clone = function() {
++ createjs.BitmapText.prototype.clone = function() {
+               return this._cloneProps(new BitmapText(this.text, 
this.spriteSheet));
+       };
+       
+       /**
+-       * <strong>Disabled in BitmapText.</strong>
++       * <strong>Disabled in createjs.BitmapText.</strong>
+        * @method addChild
+        **/
+       /**
+-       * <strong>Disabled in BitmapText.</strong>
++       * <strong>Disabled in createjs.BitmapText.</strong>
+        * @method addChildAt
+        **/
+       /**
+-       * <strong>Disabled in BitmapText.</strong>
++       * <strong>Disabled in createjs.BitmapText.</strong>
+        * @method removeChild
+        **/
+       /**
+-       * <strong>Disabled in BitmapText.</strong>
++       * <strong>Disabled in createjs.BitmapText.</strong>
+        * @method removeChildAt
+        **/
+       /**
+-       * <strong>Disabled in BitmapText.</strong>
++       * <strong>Disabled in createjs.BitmapText.</strong>
+        * @method removeAllChildren
+        **/
+-      p.addChild = p.addChildAt = p.removeChild = p.removeChildAt = 
p.removeAllChildren = function() {};
++ createjs.BitmapText.prototype.addChild = 
createjs.BitmapText.prototype.addChildAt = 
createjs.BitmapText.prototype.removeChild = 
createjs.BitmapText.prototype.removeChildAt = 
createjs.BitmapText.prototype.removeAllChildren = function() {};
+ 
+ 
+ // private methods:
+@@ -222,7 +217,7 @@
+        * @return {BitmapText} o
+        * @protected
+        **/
+-      p._cloneProps = function(o) {
++ createjs.BitmapText.prototype._cloneProps = function(o) {
+               this.DisplayObject__cloneProps(o);
+               o.lineHeight = this.lineHeight;
+               o.letterSpacing = this.letterSpacing;
+@@ -233,11 +228,11 @@
+       /**
+        * @method _getFrameIndex
+        * @param {String} character
+-       * @param {SpriteSheet} spriteSheet
++       * @param {createjs.SpriteSheet} spriteSheet
+        * @return {Number}
+        * @protected
+        **/
+-      p._getFrameIndex = function(character, spriteSheet) {
++ createjs.BitmapText.prototype._getFrameIndex = function(character, 
spriteSheet) {
+               var c, o = spriteSheet.getAnimation(character);
+               if (!o) {
+                       (character != (c = character.toUpperCase())) || 
(character != (c = character.toLowerCase())) || (c=null);
+@@ -249,32 +244,32 @@
+       /**
+        * @method _getFrame
+        * @param {String} character
+-       * @param {SpriteSheet} spriteSheet
++       * @param {createjs.SpriteSheet} spriteSheet
+        * @return {Object}
+        * @protected
+        **/
+-      p._getFrame = function(character, spriteSheet) {
++ createjs.BitmapText.prototype._getFrame = function(character, spriteSheet) {
+               var index = this._getFrameIndex(character, spriteSheet);
+               return index == null ? index : spriteSheet.getFrame(index);
+       };
+       
+       /**
+        * @method _getLineHeight
+-       * @param {SpriteSheet} ss
++       * @param {createjs.SpriteSheet} ss
+        * @return {Number}
+        * @protected
+        **/
+-      p._getLineHeight = function(ss) {
++ createjs.BitmapText.prototype._getLineHeight = function(ss) {
+               var frame = this._getFrame("1",ss) || this._getFrame("T",ss) || 
this._getFrame("L",ss) || ss.getFrame(0);
+               return frame ? frame.rect.height : 1;
+       };
+       /**
+        * @method _getSpaceWidth
+-       * @param {SpriteSheet} ss
++       * @param {createjs.SpriteSheet} ss
+        * @return {Number}
+        * @protected
+        **/
+-      p._getSpaceWidth = function(ss) {
++ createjs.BitmapText.prototype._getSpaceWidth = function(ss) {
+               var frame = this._getFrame("1",ss) || this._getFrame("l",ss) || 
this._getFrame("e",ss) || this._getFrame("a",ss) || ss.getFrame(0);
+               return frame ? frame.rect.width : 1;
+       };
+@@ -283,9 +278,9 @@
+        * @method _drawText
+        * @protected
+        **/
+-      p._updateText = function() {
++ createjs.BitmapText.prototype._updateText = function() {
+               var x=0, y=0, o=this._oldProps, change=false, 
spaceW=this.spaceWidth, lineH=this.lineHeight, ss=this.spriteSheet;
+-              var pool=BitmapText._spritePool, kids=this.children, 
childIndex=0, numKids=kids.length, sprite;
++              var pool=createjs.BitmapText._spritePool, kids=this.children, 
childIndex=0, numKids=kids.length, sprite;
+               
+               for (var n in o) {
+                       if (o[n] != this[n]) {
+@@ -335,9 +330,8 @@
+                       sprite.parent = null;
+                       numKids--;
+               }
+-              if (pool.length > BitmapText.maxPoolSize) { pool.length = 
BitmapText.maxPoolSize; }
++              if (pool.length > createjs.BitmapText.maxPoolSize) { 
pool.length = createjs.BitmapText.maxPoolSize; }
+       };
+ 
+ 
+-      createjs.BitmapText = createjs.promote(BitmapText, "Container");
+-}());
+\ No newline at end of file
++      
+diff -ur ../target/downloads/EaselJS-0.8.0/src/easeljs/display/Container.js 
EaselJS-0.8.0/src/easeljs/display/Container.js
+--- ../target/downloads/EaselJS-0.8.0/src/easeljs/display/Container.js 
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/easeljs/display/Container.js     2016-05-31 
11:03:08.000000000 +0200
+@@ -27,10 +27,6 @@
+ */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      "use strict";
+       
+ 
+ // constructor:
+@@ -39,7 +35,7 @@
+  * group arm, leg, torso and head {{#crossLink "Bitmap"}}{{/crossLink}} 
instances together into a Person Container, and
+  * transform them as a group, while still being able to move the individual 
parts relative to each other. Children of
+  * containers have their <code>transform</code> and <code>alpha</code> 
properties concatenated with their parent
+- * Container.
++ * createjs.Container.
+  *
+  * For example, a {{#crossLink "Shape"}}{{/crossLink}} with x=100 and 
alpha=0.5, placed in a Container with <code>x=50</code>
+  * and <code>alpha=0.7</code> will be rendered to the canvas at 
<code>x=150</code> and <code>alpha=0.35</code>.
+@@ -52,10 +48,10 @@
+  *      container.x = 100;
+  *
+  * @class Container
+- * @extends DisplayObject
++ * @extends createjs.DisplayObject
+  * @constructor
+  **/
+-      function Container() {
++      createjs.Container = function() {
+               this.DisplayObject_constructor();
+               
+       // public properties:
+@@ -81,7 +77,7 @@
+               this.mouseChildren = true;
+               
+               /**
+-               * If false, the tick will not be propagated to children of 
this Container. This can provide some performance benefits.
++               * If false, the tick will not be propagated to children of 
this createjs.Container. This can provide some performance benefits.
+                * In addition to preventing the "tick" event from being 
dispatched, it will also prevent tick related updates
+                * on some display objects (ex. Sprite & MovieClip frame 
advancing, DOMElement visibility handling).
+                * @property tickChildren
+@@ -90,7 +86,7 @@
+                **/
+               this.tickChildren = true;
+       }
+-      var p = createjs.extend(Container, createjs.DisplayObject);
++      
+       
+       
+ // getter / setters:
+@@ -100,7 +96,7 @@
+        * @return {Number}
+        * @deprecated
+        **/
+-      p.getNumChildren = function() {
++ createjs.Container.prototype.getNumChildren = function() {
+               return this.children.length;
+       };
+ 
+@@ -110,11 +106,7 @@
+        * @type {Number}
+        * @readonly
+        **/
+-      try {
+-              Object.defineProperties(p, {
+-                      numChildren: { get: p.getNumChildren }
+-              });
+-      } catch (e) {}
++createjs.Container.prototype.numChildren;
+       
+ 
+ // public methods:
+@@ -124,7 +116,7 @@
+        * @method initialize
+        * @deprecated in favour of `createjs.promote()`
+        **/
+-      p.initialize = Container; // TODO: deprecated.
++ createjs.Container.prototype.initialize = Container; // TODO: deprecated.
+       
+       /**
+        * Returns true or false indicating whether the display object would be 
visible if drawn to a canvas.
+@@ -134,7 +126,7 @@
+        * @method isVisible
+        * @return {Boolean} Boolean indicating whether the display object 
would be visible if drawn to a canvas
+        **/
+-      p.isVisible = function() {
++ createjs.Container.prototype.isVisible = function() {
+               var hasContent = this.cacheCanvas || this.children.length;
+               return !!(this.visible && this.alpha > 0 && this.scaleX != 0 && 
this.scaleY != 0 && hasContent);
+       };
+@@ -150,7 +142,7 @@
+        * For example, used for drawing the cache (to prevent it from simply 
drawing an existing cache back
+        * into itself).
+        **/
+-      p.draw = function(ctx, ignoreCache) {
++ createjs.Container.prototype.draw = function(ctx, ignoreCache) {
+               if (this.DisplayObject_draw(ctx, ignoreCache)) { return true; }
+               
+               // this ensures we don't have issues with display list changes 
that occur during a draw:
+@@ -180,10 +172,10 @@
+        *              container.addChild(bitmapInstance, shapeInstance, 
textInstance);
+        *
+        * @method addChild
+-       * @param {DisplayObject} child The display object to add.
+-       * @return {DisplayObject} The child that was added, or the last child 
if multiple children were added.
++       * @param {createjs.DisplayObject} child The display object to add.
++       * @return {createjs.DisplayObject} The child that was added, or the 
last child if multiple children were added.
+        **/
+-      p.addChild = function(child) {
++ createjs.Container.prototype.addChild = function(child) {
+               if (child == null) { return child; }
+               var l = arguments.length;
+               if (l > 1) {
+@@ -199,7 +191,7 @@
+ 
+       /**
+        * Adds a child to the display list at the specified index, bumping 
children at equal or greater indexes up one, and
+-       * setting its parent to this Container.
++       * setting its parent to this createjs.Container.
+        *
+        * <h4>Example</h4>
+        *
+@@ -217,11 +209,11 @@
+        * This would also bump otherShape's index up by one. Fails silently if 
the index is out of range.
+        *
+        * @method addChildAt
+-       * @param {DisplayObject} child The display object to add.
++       * @param {createjs.DisplayObject} child The display object to add.
+        * @param {Number} index The index to add the child at.
+-       * @return {DisplayObject} Returns the last child that was added, or 
the last child if multiple children were added.
++       * @return {createjs.DisplayObject} Returns the last child that was 
added, or the last child if multiple children were added.
+        **/
+-      p.addChildAt = function(child, index) {
++ createjs.Container.prototype.addChildAt = function(child, index) {
+               var l = arguments.length;
+               var indx = arguments[l-1]; // can't use the same name as the 
index param or it replaces arguments[1]
+               if (indx < 0 || indx > this.children.length) { return 
arguments[l-2]; }
+@@ -250,10 +242,10 @@
+        *
+        * Returns true if the child (or children) was removed, or false if it 
was not in the display list.
+        * @method removeChild
+-       * @param {DisplayObject} child The child to remove.
++       * @param {createjs.DisplayObject} child The child to remove.
+        * @return {Boolean} true if the child (or children) was removed, or 
false if it was not in the display list.
+        **/
+-      p.removeChild = function(child) {
++ createjs.Container.prototype.removeChild = function(child) {
+               var l = arguments.length;
+               if (l > 1) {
+                       var good = true;
+@@ -279,7 +271,7 @@
+        * @param {Number} index The index of the child to remove.
+        * @return {Boolean} true if the child (or children) was removed, or 
false if any index was out of range.
+        **/
+-      p.removeChildAt = function(index) {
++ createjs.Container.prototype.removeChildAt = function(index) {
+               var l = arguments.length;
+               if (l > 1) {
+                       var a = [];
+@@ -306,7 +298,7 @@
+        *
+        * @method removeAllChildren
+        **/
+-      p.removeAllChildren = function() {
++ createjs.Container.prototype.removeAllChildren = function() {
+               var kids = this.children;
+               while (kids.length) { this.removeChildAt(0); }
+       };
+@@ -320,9 +312,9 @@
+        *
+        * @method getChildAt
+        * @param {Number} index The index of the child to return.
+-       * @return {DisplayObject} The child at the specified index. Returns 
null if there is no child at the index.
++       * @return {createjs.DisplayObject} The child at the specified index. 
Returns null if there is no child at the index.
+        **/
+-      p.getChildAt = function(index) {
++ createjs.Container.prototype.getChildAt = function(index) {
+               return this.children[index];
+       };
+       
+@@ -330,9 +322,9 @@
+        * Returns the child with the specified name.
+        * @method getChildByName
+        * @param {String} name The name of the child to return.
+-       * @return {DisplayObject} The child with the specified name.
++       * @return {createjs.DisplayObject} The child with the specified name.
+        **/
+-      p.getChildByName = function(name) {
++ createjs.Container.prototype.getChildByName = function(name) {
+               var kids = this.children;
+               for (var i=0,l=kids.length;i<l;i++) {
+                       if(kids[i].name == name) { return kids[i]; }
+@@ -356,7 +348,7 @@
+        * @param {Function} sortFunction the function to use to sort the child 
list. See JavaScript's <code>Array.sort</code>
+        * documentation for details.
+        **/
+-      p.sortChildren = function(sortFunction) {
++ createjs.Container.prototype.sortChildren = function(sortFunction) {
+               this.children.sort(sortFunction);
+       };
+ 
+@@ -368,10 +360,10 @@
+        *      var index = container.getChildIndex(child);
+        *
+        * @method getChildIndex
+-       * @param {DisplayObject} child The child to return the index of.
++       * @param {createjs.DisplayObject} child The child to return the index 
of.
+        * @return {Number} The index of the specified child. -1 if the child 
is not found.
+        **/
+-      p.getChildIndex = function(child) {
++ createjs.Container.prototype.getChildIndex = function(child) {
+               return createjs.indexOf(this.children, child);
+       };
+       
+@@ -381,7 +373,7 @@
+        * @param {Number} index1
+        * @param {Number} index2
+        **/
+-      p.swapChildrenAt = function(index1, index2) {
++ createjs.Container.prototype.swapChildrenAt = function(index1, index2) {
+               var kids = this.children;
+               var o1 = kids[index1];
+               var o2 = kids[index2];
+@@ -392,12 +384,12 @@
+       
+       /**
+        * Swaps the specified children's depth in the display list. Fails 
silently if either child is not a child of this
+-       * Container.
++       * createjs.Container.
+        * @method swapChildren
+-       * @param {DisplayObject} child1
+-       * @param {DisplayObject} child2
++       * @param {createjs.DisplayObject} child1
++       * @param {createjs.DisplayObject} child2
+        **/
+-      p.swapChildren = function(child1, child2) {
++ createjs.Container.prototype.swapChildren = function(child1, child2) {
+               var kids = this.children;
+               var index1,index2;
+               for (var i=0,l=kids.length;i<l;i++) {
+@@ -412,11 +404,11 @@
+       
+       /**
+        * Changes the depth of the specified child. Fails silently if the 
child is not a child of this container, or the index is out of range.
+-       * @param {DisplayObject} child
++       * @param {createjs.DisplayObject} child
+        * @param {Number} index  
+        * @method setChildIndex
+        **/
+-      p.setChildIndex = function(child, index) {
++ createjs.Container.prototype.setChildIndex = function(child, index) {
+               var kids = this.children, l=kids.length;
+               if (child.parent != this || index < 0 || index >= l) { return; }
+               for (var i=0;i<l;i++) {
+@@ -431,10 +423,10 @@
+        * Returns true if the specified display object either is this 
container or is a descendent (child, grandchild, etc)
+        * of this container.
+        * @method contains
+-       * @param {DisplayObject} child The DisplayObject to be checked.
++       * @param {createjs.DisplayObject} child The DisplayObject to be 
checked.
+        * @return {Boolean} true if the specified display object either is 
this container or is a descendent.
+        **/
+-      p.contains = function(child) {
++ createjs.Container.prototype.contains = function(child) {
+               while (child) {
+                       if (child == this) { return true; }
+                       child = child.parent;
+@@ -452,7 +444,7 @@
+        * @return {Boolean} A Boolean indicating whether there is a visible 
section of a DisplayObject that overlaps the specified
+        * coordinates.
+        **/
+-      p.hitTest = function(x, y) {
++ createjs.Container.prototype.hitTest = function(x, y) {
+               // TODO: optimize to use the fast cache check where possible.
+               return (this.getObjectUnderPoint(x, y) != null);
+       };
+@@ -482,7 +474,7 @@
+        * @param {Number} [mode=0] The mode to use to determine which display 
objects to include. 0-all, 1-respect mouseEnabled/mouseChildren, 2-only mouse 
opaque objects.
+        * @return {Array} An Array of DisplayObjects under the specified 
coordinates.
+        **/
+-      p.getObjectsUnderPoint = function(x, y, mode) {
++ createjs.Container.prototype.getObjectsUnderPoint = function(x, y, mode) {
+               var arr = [];
+               var pt = this.localToGlobal(x, y);
+               this._getObjectsUnderPoint(pt.x, pt.y, arr, mode>0, mode==1);
+@@ -497,9 +489,9 @@
+        * @param {Number} x The x position in the container to test.
+        * @param {Number} y The y position in the container to test.
+        * @param {Number} mode The mode to use to determine which display 
objects to include.  0-all, 1-respect mouseEnabled/mouseChildren, 2-only mouse 
opaque objects.
+-       * @return {DisplayObject} The top-most display object under the 
specified coordinates.
++       * @return {createjs.DisplayObject} The top-most display object under 
the specified coordinates.
+        **/
+-      p.getObjectUnderPoint = function(x, y, mode) {
++ createjs.Container.prototype.getObjectUnderPoint = function(x, y, mode) {
+               var pt = this.localToGlobal(x, y);
+               return this._getObjectsUnderPoint(pt.x, pt.y, null, mode>0, 
mode==1);
+       };
+@@ -507,7 +499,7 @@
+       /**
+        * Docced in superclass.
+        */
+-      p.getBounds = function() {
++ createjs.Container.prototype.getBounds = function() {
+               return this._getBounds(null, true);
+       };
+       
+@@ -515,19 +507,19 @@
+       /**
+        * Docced in superclass.
+        */
+-      p.getTransformedBounds = function() {
++ createjs.Container.prototype.getTransformedBounds = function() {
+               return this._getBounds();
+       };
+ 
+       /**
+-       * Returns a clone of this Container. Some properties that are specific 
to this instance's current context are
++       * Returns a clone of this createjs.Container. Some properties that are 
specific to this instance's current context are
+        * reverted to their defaults (for example .parent).
+        * @method clone
+        * @param {Boolean} recursive If true, all of the descendants of this 
container will be cloned recursively. If false, the
+        * properties of the container will be cloned, but the new instance 
will not have any children.
+-       * @return {Container} A clone of the current Container instance.
++       * @return {createjs.Container} A clone of the current Container 
instance.
+        **/
+-      p.clone = function(recursive) {
++ createjs.Container.prototype.clone = function(recursive) {
+               var o = this._cloneProps(new Container());
+               if (recursive) { this._cloneChildren(o); }
+               return o;
+@@ -538,7 +530,7 @@
+        * @method toString
+        * @return {String} a string representation of the instance.
+        **/
+-      p.toString = function() {
++ createjs.Container.prototype.toString = function() {
+               return "[Container (name="+  this.name +")]";
+       };
+ 
+@@ -549,7 +541,7 @@
+        * @param {Object} evtObj An event object that will be dispatched to 
all tick listeners. This object is reused between dispatchers to reduce 
construction & GC costs.
+        * @protected
+        **/
+-      p._tick = function(evtObj) {
++ createjs.Container.prototype._tick = function(evtObj) {
+               if (this.tickChildren) {
+                       for (var i=this.children.length-1; i>=0; i--) {
+                               var child = this.children[i];
+@@ -563,9 +555,9 @@
+        * Recursively clones all children of this container, and adds them to 
the target container.
+        * @method cloneChildren
+        * @protected
+-       * @param {Container} o The target container.
++       * @param {createjs.Container} o The target container.
+        **/
+-      p._cloneChildren = function(o) {
++ createjs.Container.prototype._cloneChildren = function(o) {
+               if (o.children.length) { o.removeAllChildren(); }
+               var arr = o.children;
+               for (var i=0, l=this.children.length; i<l; i++) {
+@@ -583,10 +575,10 @@
+        * @param {Boolean} mouse If true, it will respect mouse interaction 
properties like mouseEnabled, mouseChildren, and active listeners.
+        * @param {Boolean} activeListener If true, there is an active mouse 
event listener on a parent object.
+        * @param {Number} currentDepth Indicates the current depth of the 
search.
+-       * @return {DisplayObject}
++       * @return {createjs.DisplayObject}
+        * @protected
+        **/
+-      p._getObjectsUnderPoint = function(x, y, arr, mouse, activeListener, 
currentDepth) {
++ createjs.Container.prototype._getObjectsUnderPoint = function(x, y, arr, 
mouse, activeListener, currentDepth) {
+               currentDepth = currentDepth || 0;
+               if (!currentDepth && !this._testMask(this, x, y)) { return 
null; }
+               var mtx, ctx = createjs.DisplayObject._hitTestContext;
+@@ -631,13 +623,13 @@
+       
+       /**
+        * @method _testMask
+-       * @param {DisplayObject} target
++       * @param {createjs.DisplayObject} target
+        * @param {Number} x
+        * @param {Number} y
+        * @return {Boolean} Indicates whether the x/y is within the masked 
region.
+        * @protected
+        **/
+-      p._testMask = function(target, x, y) {
++ createjs.Container.prototype._testMask = function(target, x, y) {
+               var mask = target.mask;
+               if (!mask || !mask.graphics || mask.graphics.isEmpty()) { 
return true; }
+               
+@@ -662,12 +654,12 @@
+       
+       /**
+        * @method _getBounds
+-       * @param {Matrix2D} matrix
++       * @param {createjs.Matrix2D} matrix
+        * @param {Boolean} ignoreTransform If true, does not apply this 
object's transform.
+-       * @return {Rectangle}
++       * @return {createjs.Rectangle}
+        * @protected
+        **/
+-      p._getBounds = function(matrix, ignoreTransform) {
++ createjs.Container.prototype._getBounds = function(matrix, ignoreTransform) {
+               var bounds = this.DisplayObject_getBounds();
+               if (bounds) { return this._transformBounds(bounds, matrix, 
ignoreTransform); }
+               
+@@ -686,5 +678,4 @@
+       };
+ 
+ 
+-      createjs.Container = createjs.promote(Container, "DisplayObject");
+-}());
+\ No newline at end of file
++      
+diff -ur ../target/downloads/EaselJS-0.8.0/src/easeljs/display/DOMElement.js 
EaselJS-0.8.0/src/easeljs/display/DOMElement.js
+--- ../target/downloads/EaselJS-0.8.0/src/easeljs/display/DOMElement.js        
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/easeljs/display/DOMElement.js    2016-05-31 
11:03:08.000000000 +0200
+@@ -31,10 +31,6 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      "use strict";
+ 
+ 
+ // constructor:
+@@ -66,11 +62,11 @@
+        *      }
+        *
+        * @class DOMElement
+-       * @extends DisplayObject
++       * @extends createjs.DisplayObject
+        * @constructor
+        * @param {HTMLElement} htmlElement A reference or id for the DOM 
element to manage.
+        */
+-      function DOMElement(htmlElement) {
++      createjs.DOMElement = function(htmlElement) {
+               this.DisplayObject_constructor();
+               
+               if (typeof(htmlElement)=="string") { htmlElement = 
document.getElementById(htmlElement); }
+@@ -98,10 +94,10 @@
+                */
+               this._oldProps = null;
+       }
+-      var p = createjs.extend(DOMElement, createjs.DisplayObject);
++      
+ 
+       // TODO: deprecated
+-      // p.initialize = function() {}; // searchable for devs wondering where 
it is. REMOVED. See docs for details.
++      // createjs.DOMElement.prototype.initialize = function() {}; // 
searchable for devs wondering where it is. REMOVED. See docs for details.
+ 
+ 
+ // public methods:
+@@ -112,7 +108,7 @@
+        * @method isVisible
+        * @return {Boolean} Boolean indicating whether the display object 
would be visible if drawn to a canvas
+        */
+-      p.isVisible = function() {
++ createjs.DOMElement.prototype.isVisible = function() {
+               return this.htmlElement != null;
+       };
+ 
+@@ -127,59 +123,59 @@
+        * into itself).
+        * @return {Boolean}
+        */
+-      p.draw = function(ctx, ignoreCache) {
++ createjs.DOMElement.prototype.draw = function(ctx, ignoreCache) {
+               // this relies on the _tick method because draw isn't called if 
the parent is not visible.
+               // the actual update happens in _handleDrawEnd
+               return true;
+       };
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method cache
+        */
+-      p.cache = function() {};
++ createjs.DOMElement.prototype.cache = function() {};
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method uncache
+        */
+-      p.uncache = function() {};
++ createjs.DOMElement.prototype.uncache = function() {};
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method updateCache
+        */
+-      p.updateCache = function() {};
++ createjs.DOMElement.prototype.updateCache = function() {};
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method hitTest
+        */
+-      p.hitTest = function() {};
++ createjs.DOMElement.prototype.hitTest = function() {};
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method localToGlobal
+        */
+-      p.localToGlobal = function() {};
++ createjs.DOMElement.prototype.localToGlobal = function() {};
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method globalToLocal
+        */
+-      p.globalToLocal = function() {};
++ createjs.DOMElement.prototype.globalToLocal = function() {};
+ 
+       /**
+-       * Not applicable to DOMElement.
++       * Not applicable to createjs.DOMElement.
+        * @method localToLocal
+        */
+-      p.localToLocal = function() {};
++ createjs.DOMElement.prototype.localToLocal = function() {};
+ 
+       /**
+        * DOMElement cannot be cloned. Throws an error.
+        * @method clone
+        */
+-      p.clone = function() {
++ createjs.DOMElement.prototype.clone = function() {
+               throw("DOMElement cannot be cloned.")
+       };
+ 
+@@ -188,7 +184,7 @@
+        * @method toString
+        * @return {String} a string representation of the instance.
+        */
+-      p.toString = function() {
++ createjs.DOMElement.prototype.toString = function() {
+               return "[DOMElement (name="+  this.name +")]";
+       };
+ 
+@@ -217,7 +213,7 @@
+         */
+ 
+      /**
+-      * Not applicable to DOMElement.
++      * Not applicable to createjs.DOMElement.
+         * @event tick
+         */
+ 
+@@ -229,7 +225,7 @@
+        * function.
+        * @protected
+        */
+-      p._tick = function(evtObj) {
++ createjs.DOMElement.prototype._tick = function(evtObj) {
+               var stage = this.getStage();
+               stage&&stage.on("drawend", this._handleDrawEnd, this, true);
+               this.DisplayObject__tick(evtObj);
+@@ -240,7 +236,7 @@
+        * @param {Event} evt
+        * @protected
+        */
+-      p._handleDrawEnd = function(evt) {
++ createjs.DOMElement.prototype._handleDrawEnd = function(evt) {
+               var o = this.htmlElement;
+               if (!o) { return; }
+               var style = o.style;
+@@ -269,5 +265,5 @@
+       };
+ 
+ 
+-      createjs.DOMElement = createjs.promote(DOMElement, "DisplayObject");
+-}());
++      
++
+diff -ur 
../target/downloads/EaselJS-0.8.0/src/easeljs/display/DisplayObject.js 
EaselJS-0.8.0/src/easeljs/display/DisplayObject.js
+--- ../target/downloads/EaselJS-0.8.0/src/easeljs/display/DisplayObject.js     
2014-12-19 11:08:04.000000000 +0100
++++ EaselJS-0.8.0/src/easeljs/display/DisplayObject.js 2016-05-31 
11:03:08.000000000 +0200
+@@ -56,7 +56,7 @@
+  *
+  *        //Create a stage by getting a reference to the canvas
+  *        stage = new createjs.Stage("demoCanvas");
+- *        //Create a Shape DisplayObject.
++ *        //Create a Shape createjs.DisplayObject.
+  *        circle = new createjs.Shape();
+  *        circle.graphics.beginFill("red").drawCircle(0, 0, 40);
+  *        //Set position of Shape instance.
+@@ -119,10 +119,6 @@
+  */
+ 
+ // namespace:
+-this.createjs = this.createjs||{};
+-
+-(function() {
+-      "use strict";
+ 
+ 
+ // constructor:
+@@ -133,10 +129,10 @@
+        * methods that are shared between all display objects, such as 
transformation properties (x, y, scaleX, scaleY, etc),
+        * caching, and mouse handlers.
+        * @class DisplayObject
+-       * @extends EventDispatcher
++       * @extends createjs.EventDispatcher
+        * @constructor
+        **/
+-      function DisplayObject() {
++      createjs.DisplayObject = function() {
+               this.EventDispatcher_constructor();
+               
+               
+@@ -216,7 +212,7 @@
+                * to one.
+                * @property parent
+                * @final
+-               * @type {Container}
++               * @type {createjs.Container}
+                * @default null
+                * @readonly
+                **/
+@@ -286,7 +282,7 @@
+                * A shadow object that defines the shadow to render on this 
display object. Set to `null` to remove a shadow. If
+                * null, this property is inherited from the parent container.
+                * @property shadow
+-               * @type {Shadow}
++               * @type {createjs.Shadow}
+                * @default null
+                **/
+               this.shadow = null;
+@@ -319,7 +315,7 @@
+                * If set, defines the transformation for this display object, 
overriding all other transformation properties
+                * (x, y, rotation, scale, skew).
+                * @property transformMatrix
+-               * @type {Matrix2D}
++               * @type {createjs.Matrix2D}
+                * @default null
+                **/
+               this.transformMatrix = null;
+@@ -376,7 +372,7 @@
+                *
+                * Note that hitArea is NOT currently used by the `hitTest()` 
method, nor is it supported for {{#crossLink "Stage"}}{{/crossLink}}.
+                * @property hitArea
+-               * @type {DisplayObject}
++               * @type {createjs.DisplayObject}
+                * @default null
+                */
+               this.hitArea = null;
+@@ -452,7 +448,7 @@
+               /**
+                * @property _props
+                * @protected
+-               * @type {DisplayObject}
++               * @type {createjs.DisplayObject}
+                * @default null
+                **/
+               this._props = new createjs.DisplayProps();
+@@ -460,7 +456,7 @@
+               /**
+                * @property _rectangle
+                * @protected
+-               * @type {Rectangle}
++               * @type {createjs.Rectangle}
+                * @default null
+                **/
+               this._rectangle = new createjs.Rectangle();
+@@ -468,15 +464,15 @@
+               /**
+                * @property _bounds
+                * @protected
+-               * @type {Rectangle}
++               * @type {createjs.Rectangle}
+                * @default null
+                **/
+               this._bounds = null;
+       }
+-      var p = createjs.extend(DisplayObject, createjs.EventDispatcher);
++      
+ 
+       // TODO: deprecated
+-      // p.initialize = function() {}; // searchable for devs wondering where 
it is. REMOVED. See docs for details.
++      // createjs.DisplayObject.prototype.initialize = function() {}; // 
searchable for devs wondering where it is. REMOVED. See docs for details.
+       
+ // static properties:
+       /**
+@@ -486,7 +482,7 @@
+        * @static
+        * @type {Array}
+        **/
+-      DisplayObject._MOUSE_EVENTS = 
["click","dblclick","mousedown","mouseout","mouseover","pressmove","pressup","rollout","rollover"];
++      createjs.DisplayObject._MOUSE_EVENTS = 
["click","dblclick","mousedown","mouseout","mouseover","pressmove","pressup","rollout","rollover"];
+ 
+       /**
+        * Suppresses errors generated when using features like hitTest, mouse 
events, and {{#crossLink "getObjectsUnderPoint"}}{{/crossLink}}
+@@ -496,7 +492,7 @@
+        * @type {Boolean}
+        * @default false
+        **/
+-      DisplayObject.suppressCrossDomainErrors = false;
++      createjs.DisplayObject.suppressCrossDomainErrors = false;
+       
+       /**
+        * @property _snapToPixelEnabled
+@@ -505,7 +501,7 @@
+        * @type {Boolean}
+        * @default false
+        **/
+-      DisplayObject._snapToPixelEnabled = false; // stage.snapToPixelEnabled 
is temporarily copied here during a draw to provide global access.
++      createjs.DisplayObject._snapToPixelEnabled = false; // 
stage.snapToPixelEnabled is temporarily copied here during a draw to provide 
global access.
+ 
+       /**
+        * @property _hitTestCanvas
+@@ -521,8 +517,8 @@
+        **/
+       var canvas = 
createjs.createCanvas?createjs.createCanvas():document.createElement("canvas"); 
// prevent errors on load in browsers without canvas.
+       if (canvas.getContext) {
+-              DisplayObject._hitTestCanvas = canvas;
+-              DisplayObject._hitTestContext = canvas.getContext("2d");
++              createjs.DisplayObject._hitTestCanvas = canvas;
++              createjs.DisplayObject._hitTestContext = 
canvas.getContext("2d");
+               canvas.width = canvas.height = 1;
+       }
+ 
+@@ -532,7 +528,7 @@
+        * @static
+        * @protected
+        **/
+-      DisplayObject._nextCacheID = 1;
++      createjs.DisplayObject._nextCacheID = 1;
+ 
+ 
+ // events:
+@@ -658,10 +654,10 @@
+       /**
+        * Use the {{#crossLink "DisplayObject/stage:property"}}{{/crossLink}} 
property instead.
+        * @method getStage
+-       * @return {Stage}
++       * @return {createjs.Stage}
+        * @deprecated
+        **/
+-      p.getStage = function() {
++ createjs.DisplayObject.prototype.getStage = function() {
+               // uses dynamic access to avoid circular dependencies;
+               var o = this, _Stage = createjs["Stage"];
+               while (o.parent) { o = o.parent; }
+@@ -672,14 +668,10 @@
+       /**
+        * Returns the Stage instance that this display object will be rendered 
on, or null if it has not been added to one.
+        * @property stage
+-       * @type {Stage}
++       * @type {createjs.Stage}
+        * @readonly
+        **/
+-      try {
+-              Object.defineProperties(p, {
+-                      stage: { get: p.getStage }
+-              });
+-      } catch (e) {}
++createjs.DisplayObject.prototype.stage;
+ 
+ 
+ // public methods:
+@@ -691,7 +683,7 @@
+        * @method isVisible
+        * @return {Boolean} Boolean indicating whether the display object 
would be visible if drawn to a canvas
+        **/
+-      p.isVisible = function() {
++ createjs.DisplayObject.prototype.isVisible = function() {
+               return !!(this.visible && this.alpha > 0 && this.scaleX != 0 && 
this.scaleY != 0);
+       };
+ 
+@@ -706,7 +698,7 @@
+        * used for drawing the cache (to prevent it from simply drawing an 
existing cache back into itself).
+        * @return {Boolean}
+        **/
+-      p.draw = function(ctx, ignoreCache) {
++ createjs.DisplayObject.prototype.draw = function(ctx, ignoreCache) {
+               var cacheCanvas = this.cacheCanvas;
+               if (ignoreCache || !cacheCanvas) { return false; }
+               var scale = this._cacheScale;
+@@ -720,7 +712,7 @@
+        * @method updateContext
+        * @param {CanvasRenderingContext2D} ctx The canvas 2D to update.
+        **/
+-      p.updateContext = function(ctx) {
++ createjs.DisplayObject.prototype.updateContext = function(ctx) {
+               var o=this, mask=o.mask, mtx= o._props.matrix;
+               
+               if (mask && mask.graphics && !mask.graphics.isEmpty()) {
+@@ -736,7 +728,7 @@
+               
+               this.getMatrix(mtx);
+               var tx = mtx.tx, ty = mtx.ty;
+-              if (DisplayObject._snapToPixelEnabled && o.snapToPixel) {
++              if (createjs.DisplayObject._snapToPixelEnabled && 
o.snapToPixel) {
+                       tx = tx + (tx < 0 ? -0.5 : 0.5) | 0;
+                       ty = ty + (ty < 0 ? -0.5 : 0.5) | 0;
+               }
+@@ -777,7 +769,7 @@
+        *      myShape.cache(0,0,100,100,2) then the resulting cacheCanvas 
will be 200x200 px. This lets you scale and rotate
+        *      cached elements with greater fidelity. Default is 1.
+        **/
+-      p.cache = function(x, y, width, height, scale) {
++ createjs.DisplayObject.prototype.cache = function(x, y, width, height, 
scale) {
+               // draw to canvas.
+               scale = scale||1;
+               if (!this.cacheCanvas) { this.cacheCanvas = 
createjs.createCanvas?createjs.createCanvas():document.createElement("canvas"); 
}
+@@ -808,7 +800,7 @@
+        * <a 
href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#compositing";>
+        * whatwg spec on compositing</a>.
+        **/
+-      p.updateCache = function(compositeOperation) {
++ createjs.DisplayObject.prototype.updateCache = function(compositeOperation) {
+               var cacheCanvas = this.cacheCanvas;
+               if (!cacheCanvas) { throw "cache() must be called before 
updateCache()"; }
+               var scale = this._cacheScale, offX = this._cacheOffsetX*scale, 
offY = this._cacheOffsetY*scale;
+@@ -835,14 +827,14 @@
+               // TODO: filters and cache scale don't play well together at 
present.
+               this._applyFilters();
+               ctx.restore();
+-              this.cacheID = DisplayObject._nextCacheID++;
++              this.cacheID = createjs.DisplayObject._nextCacheID++;
+       };
+ 
+       /**
+        * Clears the current cache. See {{#crossLink 
"DisplayObject/cache"}}{{/crossLink}} for more information.
+        * @method uncache
+        **/
+-      p.uncache = function() {
++ createjs.DisplayObject.prototype.uncache = function() {
+               this._cacheDataURL = this.cacheCanvas = null;
+               this.cacheID = this._cacheOffsetX = this._cacheOffsetY = 
this._filterOffsetX = this._filterOffsetY = 0;
+               this._cacheScale = 1;
+@@ -854,7 +846,7 @@
+        * @method getCacheDataURL
+        * @return {String} The image data url for the cache.
+        **/
+-      p.getCacheDataURL = function() {
++ createjs.DisplayObject.prototype.getCacheDataURL = function() {
+               if (!this.cacheCanvas) { return null; }
+               if (this.cacheID != this._cacheDataURLID) { this._cacheDataURL 
= this.cacheCanvas.toDataURL(); }
+               return this._cacheDataURL;
+@@ -871,17 +863,17 @@
+        *      displayObject.x = 300;
+        *      displayObject.y = 200;
+        *      stage.addChild(displayObject);
+-       *      var point = myDisplayObject.localToGlobal(100, 100);
++       *      var point = mycreatejs.DisplayObject.localToGlobal(100, 100);
+        *      // Results in x=400, y=300
+        *
+        * @method localToGlobal
+        * @param {Number} x The x position in the source display object to 
transform.
+        * @param {Number} y The y position in the source display object to 
transform.
+-       * @param {Point | Object} [pt] An object to copy the result into. If 
omitted a new Point object with x/y properties will be returned. 
+-       * @return {Point} A Point instance with x and y properties correlating 
to the transformed coordinates
++       * @param {createjs.Point | Object} [pt] An object to copy the result 
into. If omitted a new Point object with x/y properties will be returned. 
++       * @return {createjs.Point} A Point instance with x and y properties 
correlating to the transformed coordinates
+        * on the stage.
+        **/
+-      p.localToGlobal = function(x, y, pt) {
++ createjs.DisplayObject.prototype.localToGlobal = function(x, y, pt) {
+               return 
this.getConcatenatedMatrix(this._props.matrix).transformPoint(x,y, pt||new 
createjs.Point());
+       };
+ 
+@@ -896,17 +888,17 @@
+        *      displayObject.x = 300;
+        *      displayObject.y = 200;
+        *      stage.addChild(displayObject);
+-       *      var point = myDisplayObject.globalToLocal(100, 100);
++       *      var point = mycreatejs.DisplayObject.globalToLocal(100, 100);
+        *      // Results in x=-200, y=-100
+        *
+        * @method globalToLocal
+        * @param {Number} x The x position on the stage to transform.
+        * @param {Number} y The y position on the stage to transform.
+-       * @param {Point | Object} [pt] An object to copy the result into. If 
omitted a new Point object with x/y properties will be returned. 
+-       * @return {Point} A Point instance with x and y properties correlating 
to the transformed position in the
++       * @param {createjs.Point | Object} [pt] An object to copy the result 
into. If omitted a new Point object with x/y properties will be returned. 
++       * @return {createjs.Point} A Point instance with x and y properties 
correlating to the transformed position in the
+        * display object's coordinate space.
+        **/
+-      p.globalToLocal = function(x, y, pt) {
++ createjs.DisplayObject.prototype.globalToLocal = function(x, y, pt) {
+               return 
this.getConcatenatedMatrix(this._props.matrix).invert().transformPoint(x,y, 
pt||new createjs.Point());
+       };
+ 
+@@ -922,12 +914,12 @@
+        * @method localToLocal
+        * @param {Number} x The x position in the source display object to 
transform.
+        * @param {Number} y The y position on the source display object to 
transform.
+-       * @param {DisplayObject} target The target display object to which the 
coordinates will be transformed.
+-       * @param {Point | Object} [pt] An object to copy the result into. If 
omitted a new Point object with x/y properties will be returned. 
+-       * @return {Point} Returns a Point instance with x and y properties 
correlating to the transformed position
++       * @param {createjs.DisplayObject} target The target display object to 
which the coordinates will be transformed.
++       * @param {createjs.Point | Object} [pt] An object to copy the result 
into. If omitted a new Point object with x/y properties will be returned. 
++       * @return {createjs.Point} Returns a Point instance with x and y 
properties correlating to the transformed position
+        * in the target's coordinate space.
+        **/
+-      p.localToLocal = function(x, y, target, pt) {
++ createjs.DisplayObject.prototype.localToLocal = function(x, y, target, pt) {
+               pt = this.localToGlobal(x, y, pt);
+               return target.globalToLocal(pt.x, pt.y, pt);
+       };
+@@ -950,10 +942,10 @@
+        * @param {Number} [skewY=0] The vertical skew factor
+        * @param {Number} [regX=0] The horizontal registration point in pixels
+        * @param {Number} [regY=0] The vertical registration point in pixels
+-       * @return {DisplayObject} Returns this instance. Useful for chaining 
commands.
++       * @return {createjs.DisplayObject} Returns this instance. Useful for 
chaining commands.
+        * @chainable
+       */
+-      p.setTransform = function(x, y, scaleX, scaleY, rotation, skewX, skewY, 
regX, regY) {
++ createjs.DisplayObject.prototype.setTransform = function(x, y, scaleX, 
scaleY, rotation, skewX, skewY, regX, regY) {
+               this.x = x || 0;
+               this.y = y || 0;
+               this.scaleX = scaleX == null ? 1 : scaleX;
+@@ -969,11 +961,11 @@
+       /**
+        * Returns a matrix based on this object's current transform.
+        * @method getMatrix
+-       * @param {Matrix2D} matrix Optional. A Matrix2D object to populate 
with the calculated values. If null, a new
++       * @param {createjs.Matrix2D} matrix Optional. A Matrix2D object to 
populate with the calculated values. If null, a new
+        * Matrix object is returned.
+-       * @return {Matrix2D} A matrix representing this display object's 
transform.
++       * @return {createjs.Matrix2D} A matrix representing this display 
object's transform.
+        **/
+-      p.getMatrix = function(matrix) {
++ createjs.DisplayObject.prototype.getMatrix = function(matrix) {
+               var o = this, mtx = matrix&&matrix.identity() || new 
createjs.Matrix2D();
+               return o.transformMatrix ?  mtx.copy(o.transformMatrix) : 
mtx.appendTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation, o.skewX, o.skewY, 
o.regX, o.regY);
+       };
+@@ -984,11 +976,11 @@
+        * be used to transform positions between coordinate spaces, such as 
with {{#crossLink "DisplayObject/localToGlobal"}}{{/crossLink}}
+        * and {{#crossLink "DisplayObject/globalToLocal"}}{{/crossLink}}.
+        * @method getConcatenatedMatrix
+-       * @param {Matrix2D} [matrix] A {{#crossLink "Matrix2D"}}{{/crossLink}} 
object to populate with the calculated values.
++       * @param {createjs.Matrix2D} [matrix] A {{#crossLink 
"Matrix2D"}}{{/crossLink}} object to populate with the calculated values.
+        * If null, a new Matrix2D object is returned.
+-       * @return {Matrix2D} The combined matrix.
++       * @return {createjs.Matrix2D} The combined matrix.
+        **/
+-      p.getConcatenatedMatrix = function(matrix) {
++ createjs.DisplayObject.prototype.getConcatenatedMatrix = function(matrix) {
+               var o = this, mtx = this.getMatrix(matrix);
+               while (o = o.parent) {
+                       mtx.prependMatrix(o.getMatrix(o._props.matrix));
+@@ -1000,11 +992,11 @@
+        * Generates a DisplayProps object representing the combined display 
properties of the  object and all of its
+        * parent Containers up to the highest level ancestor (usually the 
{{#crossLink "Stage"}}{{/crossLink}}).
+        * @method getConcatenatedDisplayProps
+-       * @param {DisplayProps} [props] A {{#crossLink 
"DisplayProps"}}{{/crossLink}} object to populate with the calculated values.
++       * @param {createjs.DisplayProps} [props] A {{#crossLink 
"DisplayProps"}}{{/crossLink}} object to populate with the calculated values.
+        * If null, a new DisplayProps object is returned.
+-       * @return {DisplayProps} The combined display properties.
++       * @return {createjs.DisplayProps} The combined display properties.
+        **/
+-      p.getConcatenatedDisplayProps = function(props) {
++ createjs.DisplayObject.prototype.getConcatenatedDisplayProps = 
function(props) {
+               props = props ? props.identity() : new createjs.DisplayProps();
+               var o = this, mtx = o.getMatrix(props.matrix); 
+               do {
+@@ -1035,8 +1027,8 @@
+        * @return {Boolean} A Boolean indicating whether a visible portion of 
the DisplayObject intersect the specified
+        * local Point.
+       */
+-      p.hitTest = function(x, y) {
+-              var ctx = DisplayObject._hitTestContext;
++ createjs.DisplayObject.prototype.hitTest = function(x, y) {
++              var ctx = createjs.DisplayObject._hitTestContext;
+               ctx.setTransform(1, 0, 0, 1, -x, -y);
+               this.draw(ctx);
+ 
+@@ -1056,10 +1048,10 @@
+        *
+        * @method set
+        * @param {Object} props A generic object containing properties to copy 
to the DisplayObject instance.
+-       * @return {DisplayObject} Returns the instance the method is called on 
(useful for chaining calls.)
++       * @return {createjs.DisplayObject} Returns the instance the method is 
called on (useful for chaining calls.)
+        * @chainable
+       */
+-      p.set = function(props) {
++ createjs.DisplayObject.prototype.set = function(props) {
+               for (var n in props) { this[n] = props[n]; }
+               return this;
+       };
+@@ -1117,10 +1109,10 @@
+        *      myRect.copy(obj.getBounds());
+        * 
+        * @method getBounds
+-       * @return {Rectangle} A Rectangle instance representing the bounds, or 
null if bounds are not available for this
++       * @return {createjs.Rectangle} A Rectangle instance representing the 
bounds, or null if bounds are not available for this
+        * object.
+        **/
+-      p.getBounds = function() {
++ createjs.DisplayObject.prototype.getBounds = function() {
+               if (this._bounds) { return this._rectangle.copy(this._bounds); }
+               var cacheCanvas = this.cacheCanvas;
+               if (cacheCanvas) {
+@@ -1143,9 +1135,9 @@
+        * 
+        * Container instances calculate aggregate bounds for all children that 
return bounds via getBounds.
+        * @method getTransformedBounds
+-       * @return {Rectangle} A Rectangle instance representing the bounds, or 
null if bounds are not available for this object.
++       * @return {createjs.Rectangle} A Rectangle instance representing the 
bounds, or null if bounds are not available for this object.
+        **/
+-      p.getTransformedBounds = function() {
++ createjs.DisplayObject.prototype.getTransformedBounds = function() {
+               return this._getBounds();
+       };
+       
+@@ -1162,19 +1154,19 @@
+        * @param {Number} width The width of the bounds.
+        * @param {Number} height The height of the bounds.
+        **/
+-      p.setBounds = function(x, y, width, height) {
++ createjs.DisplayObject.prototype.setBounds = function(x, y, width, height) {
+               if (x == null) { this._bounds = x; }
+               this._bounds = (this._bounds || new 
createjs.Rectangle()).setValues(x, y, width, height);
+       };
+ 
+       /**
+-       * Returns a clone of this DisplayObject. Some properties that are 
specific to this instance's current context are
++       * Returns a clone of this createjs.DisplayObject. Some properties that 
are specific to this instance's current context are
+        * reverted to their defaults (for example .parent). Caches are not 
maintained across clones, and some elements
+        * are copied by reference (masks, individual filter instances, hit 
area)
+        * @method clone
+-       * @return {DisplayObject} A clone of the current DisplayObject 
instance.
++       * @return {createjs.DisplayObject} A clone of the current 
DisplayObject instance.
+        **/
+-      p.clone = function() {
++ createjs.DisplayObject.prototype.clone = function() {
+               return this._cloneProps(new DisplayObject());
+       };
+ 
+@@ -1183,7 +1175,7 @@
+        * @method toString
+        * @return {String} a string representation of the instance.
+        **/
+-      p.toString = function() {
++ createjs.DisplayObject.prototype.toString = function() {
+               return "[DisplayObject (name="+  this.name +")]";
+       };
+ 
+@@ -1192,12 +1184,12 @@
+       // separated so it can be used more easily in subclasses:
+       /**
+        * @method _cloneProps
+-       * @param {DisplayObject} o The DisplayObject instance which will have 
properties from the current DisplayObject
++       * @param {createjs.DisplayObject} o The DisplayObject instance which 
will have properties from the current DisplayObject
+        * instance copied into.
+-       * @return {DisplayObject} o
++       * @return {createjs.DisplayObject} o
+        * @protected
+        **/
+-      p._cloneProps = function(o) {
++ createjs.DisplayObject.prototype._cloneProps = function(o) {
+               o.alpha = this.alpha;
+               o.mouseEnabled = this.mouseEnabled;
+               o.tickEnabled = this.tickEnabled;
+@@ -1227,9 +1219,9 @@
+        * @method _applyShadow
+        * @protected
+        * @param {CanvasRenderingContext2D} ctx
+-       * @param {Shadow} shadow
++       * @param {createjs.Shadow} shadow
+        **/
+-      p._applyShadow = function(ctx, shadow) {
++ createjs.DisplayObject.prototype._applyShadow = function(ctx, shadow) {
+               shadow = shadow || Shadow.identity;
+               ctx.shadowColor = shadow.color;
+               ctx.shadowOffsetX = shadow.offsetX;
+@@ -1243,7 +1235,7 @@
+        * @param {Object} evtObj An event object that will be dispatched to 
all tick listeners. This object is reused between dispatchers to reduce 
construction & GC costs.
+        * @protected
+        **/
+-      p._tick = function(evtObj) {
++ createjs.DisplayObject.prototype._tick = function(evtObj) {
+               // because tick can be really performance sensitive, check for 
listeners before calling dispatchEvent.
+               var ls = this._listeners;
+               if (ls && ls["tick"]) {
+@@ -1260,11 +1252,11 @@
+        * @param {CanvasRenderingContext2D} ctx
+        * @return {Boolean}
+        **/
+-      p._testHit = function(ctx) {
++ createjs.DisplayObject.prototype._testHit = function(ctx) {
+               try {
+                       var hit = ctx.getImageData(0, 0, 1, 1).data[3] > 1;
+               } catch (e) {
+-                      if (!DisplayObject.suppressCrossDomainErrors) {
++                      if (!createjs.DisplayObject.suppressCrossDomainErrors) {
+                               throw "An error has occurred. This is most 
likely due to security restrictions on reading canvas pixel data with local or 
cross-domain images.";
+                       }
+               }
+@@ -1275,7 +1267,7 @@
+        * @method _applyFilters
+        * @protected
+        **/
+-      p._applyFilters = function() {
++ createjs.DisplayObject.prototype._applyFilters = function() {
+               if (!this.filters || this.filters.length == 0 || 
!this.cacheCanvas) { return; }
+               var l = this.filters.length;
+               var ctx = this.cacheCanvas.getContext("2d");
+@@ -1288,10 +1280,10 @@
+       
+       /**
+        * @method _getFilterBounds
+-       * @return {Rectangle}
++       * @return {createjs.Rectangle}
+        * @protected
+        **/
+-      p._getFilterBounds = function(rect) {
++ createjs.DisplayObject.prototype._getFilterBounds = function(rect) {
+               var l, filters = this.filters, bounds = 
this._rectangle.setValues(0,0,0,0);
+               if (!filters || !(l=filters.length)) { return bounds; }
+               
+@@ -1304,24 +1296,24 @@
+       
+       /**
+        * @method _getBounds
+-       * @param {Matrix2D} matrix
++       * @param {createjs.Matrix2D} matrix
+        * @param {Boolean} ignoreTransform If true, does not apply this 
object's transform.
+-       * @return {Rectangle}
++       * @return {createjs.Rectangle}
+        * @protected
+        **/
+-      p._getBounds = function(matrix, ignoreTransform){
++ createjs.DisplayObject.prototype._getBounds = function(matrix, 
ignoreTransform){
+               return this._transformBounds(this.getBounds(), matrix, 
ignoreTransform);
+       };
+       
+       /**
+        * @method _transformBounds
+-       * @param {Rectangle} bounds
+-       * @param {Matrix2D} matrix
++       * @param {createjs.Rectangle} bounds
++       * @param {createjs.Matrix2D} matrix
+        * @param {Boolean} ignoreTransform
+-       * @return {Rectangle}
++       * @return {createjs.Rectangle}
+        * @protected
+        **/
+-      p._transformBounds = funct

<TRUNCATED>

Reply via email to