Create File_Preview.php

// Create a 'preview' to a file
// Options:
//  file	   relative path to target file
//	snap	   relative path to the snapshot image
//	hoverText  Text to be displayed when hovering over
//	urlPrefix  Prefix only needed if relative paths not relative to location of php script calling this library
//	format     image format for the snapshot (if being created)
//	button     image to be used as a 'play button'
//	height     desired height of snapshot image (if blank, it will be scaled to the width)
//	width      desired width of snapshot image
//	quality    quality parameter for creating image snapshot
//	pbWidth    desired width of 'play button image'
//	pbHeight   desired height of 'play button image'
// 	
// Basic use:
//	Specify a target file ('file')
//	Get back a <DIV> containing a snapshot (default size = 600 wide, default format = jpg) overlayed with a default 'play button' (default size = 100x86) linking to the target file
//
// Notes:
// 	In its general form, the class doesn't know anything about the target file, so a default snapshot will be horribly generic.
// 	Specialized subclasses add the smarts to create a snapshot based on the file type (e.g., call ImageMagik to create a pdf snapshot, call FFMPEG to create a movie snapshot)
// 	Once a snapshot for a file is created for a particular size, it will be cached for later use saving conversion time later
//
// Class to create and cache and/or retrieve an image based on a File
// This depends on the ImageMagick utility being installed and in $PATH
// If a file called ./pix/PlayButton.png is present,
// it will be overlayed and will link to the file.
// Can be used multiple times in a single page because unique class names are generated by keeping track with a static instance variable