function VideoBuffer(video) {
		
	// private properties:
		/**
		 * Used by Bitmap to determine when the video buffer is ready to be drawn. Not intended for general use.
		 * @property readyState
		 * @protected
		 * @type {Number}
		 * @default 0
		 **/
		this.readyState = video.readyState;
		
		/**
		 * @property _video
		 * @protected
		 * @type {HTMLVideoElement}
		 * @default 0
		 **/
		this._video = video;
		
		/**
		 * @property _canvas
		 * @protected
		 * @type {HTMLCanvasElement}
		 * @default 0
		 **/
		this._canvas = null;
		
		/**
		 * @property _lastTime
		 * @protected
		 * @type {Number}
		 * @default -1
		 **/
		this._lastTime = -1;
		
		if (this.readyState < 2) { video.addEventListener("canplaythrough", this._videoReady.bind(this)); } //once:true isn't supported everywhere, but its a non-critical optimization here.
	}
When an HTML video seeks, including when looping, there is an indeterminate period before a new frame is available.
This can result in the video blinking or flashing when it is drawn to a canvas. The VideoBuffer class resolves
this issue by drawing each frame to an off-screen canvas and preserving the prior frame during a seek.

	var myBuffer = new createjs.VideoBuffer(myVideo);
	var myBitmap = new Bitmap(myBuffer);

@class VideoBuffer
@param {HTMLVideoElement} video The HTML video element to buffer.
@constructor