function TaskProcessor(workerPath, maximumActiveTasks) {
  this._workerPath = workerPath;
  this._maximumActiveTasks = maximumActiveTasks ?? Number.POSITIVE_INFINITY;
  this._activeTasks = 0;
  this._nextID = 0;
  this._webAssemblyPromise = undefined;
}
A wrapper around a web worker that allows scheduling tasks for a given worker,
returning results asynchronously via a promise.

The Worker is not constructed until a task is scheduled.

@alias TaskProcessor
@constructor

@param {string} workerPath The Url to the worker. This can either be an absolute path or relative to the Cesium Workers folder.
@param {number} [maximumActiveTasks=Number.POSITIVE_INFINITY] The maximum number of active tasks.  Once exceeded,
                                       scheduleTask will not queue any more tasks, allowing
                                       work to be rescheduled in future frames.