Refactored AsynchronousPyramidGenerator to take a TileReader in it
constructor (dependency injection). Also changed Main.cs so that the caller
must pass in the desired tile dimension rather than the number of levels.
Created OpenSlideImageReader class subclass of ImageReader. Tested on
several Aperio files and it works. Writes blank tiles to file system.
Future change should try to prevent this.