Adding Scaled/Retina Image Suport to UIImage-Categories

These changes will allow retina images to be resized/manipulated
correctly without becoming blurry. We accomplish this by multiplying by
the scale of the original image each time we use the size of the image
in the CGContext. Then, when converting back to an UIImage, we specify
the original scale.