function _typeof(obj) {
            if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {
              _typeof = function _typeof(obj) {
                return typeof obj;
              };
            } else {
              _typeof = function _typeof(obj) {
                return obj &&
                  typeof Symbol === 'function' &&
                  obj.constructor === Symbol &&
                  obj !== Symbol.prototype
                  ? 'symbol'
                  : typeof obj;
              };
            }
            return _typeof(obj);
          } // requestAnim shim layer by Paul Irish
shim for Uint8ClampedArray.slice
(allows arrayCopy to work with pixels[])
with thanks to http://halfpapstudios.com/blog/tag/html5-canvas/
Enumerable set to false to protect for...in from
Uint8ClampedArray.prototype pollution.