Wrote an ImageCache class to resolve circular dependency problems between Surface and Graphics. Surface::FromFile() now loads textures and places them in the proper place on the loaded surface. Closed #7. Closed #14.