more direct method access for surface + added image_surface methods to surface