Basically, right now it rounds because there is not subpixel resolution anyway. If the image is really enlarged, though, it might make sense not to round.
That scenario is detectable, I think, since we can get the "natural" size of an image and we know its display size, so we can work out the size of pixels on the screen.
See discussion at https://github.com/jupyter-widgets/ipywidgets/pull/1727#discussion_r144482546
Basically, right now it rounds because there is not subpixel resolution anyway. If the image is really enlarged, though, it might make sense not to round.
That scenario is detectable, I think, since we can get the "natural" size of an image and we know its display size, so we can work out the size of pixels on the screen.