Unfortunately, CoreGraphics bitmaps don't really have a sense of scale about them, so far as I can tell.  It would be cleaner to tell gc.draw_image what the scale factor was directly, but that would change the backend interface.  Maybe an auxiliary setter?