Class for dimension change detection.

@param {Element|Element[]|Elements|jQuery} element
@param {Function} callback

@constructor
function(element, callback) {
        var me = this;
        var elementType = Object.prototype.toString.call(element);
        var isCollectionTyped = me._isCollectionTyped = ('[object Array]' === elementType || 
            ('[object NodeList]' === elementType) || 
            ('[object HTMLCollection]' === elementType) || 
            ('undefined' !== typeof jQuery && element instanceof window.jQuery) || //jquery
            ('undefined' !== typeof Elements && element instanceof window.Elements) //mootools
        );
        me._element = element;

        if (isCollectionTyped) {
            var i = 0, j = element.length;
            for (; i < j; i++) {
                attachResizeEvent(element[i], callback);
            }
        } else {
            attachResizeEvent(element, callback);
        }
    }