Support `devicePixelRatio` !== 1. Fixes resize issues on Retina displays.

@allisoncorey @eric79 @BrettASwift, this keeps the canvas' CSS size correct on high-resolution displays that  have multiple physical pixels per CSS pixel. It also sizes the canvas internally for physical pixels to enable high-resolution rendering.