Compositor: get subpixel positioning working for normal layers

Victory!  This may not mean much to an outsider, but the benefits are
significant if you have a large, multilayer image and view it while
zoomed out.

Normal drawing code truncates measurements to integer pixel values.
This is problematic while zoomed out, as a layer might need to rendered
at a position like (0.67,0.33) in order to accurately represent its
position at that zoom level.

The new compositor can alpha-blend fractional positions like this to
give a very good estimation of how the image actually appears.  This
yields excellent scroll behavior when deeply zoomed out, or when using
uneven zoom numbers.

Due to the way non-standard blend modes and non-destructive fx work,
this behavior is currently only available for Normal blend mode layers
with no non-destructive effects activated.  So next up is dealing with
these non-standard cases.

Also, two more points:

- I need to revisit previous optimizations to switch to AlphaBlend or
bitblt as relevant.  (At 100% zoom, subpixel positioning isn't
necessary, so we don't need to use GDI+.)
- Subpixel positioning does have a performance hit.  I need to tie the
feature into PD's global performance preferences, to give the user a way
to restore the old behavior.