function QueryHandler(options) {
    this.options = options;
    !options.deferSetup && this.setup();
}
Delegate to handle a media query being matched and unmatched.

@param {object} options
@param {function} options.match callback for when the media query is matched
@param {function} [options.unmatch] callback for when the media query is unmatched
@param {function} [options.setup] one-time callback triggered the first time a query is matched
@param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?
@constructor