Fix rounding error in DPI scaling.

This fixes crashes/blank output when a DPI lower than the system specified DPI is used.
It also fixes the scale of the output when different values are specified for --dpi.
Fix length units to be correct.

Results should now be consistent for different system DPI settings.
The reason for hardcoding 96 is that webkit seems to enforce 96 DPI. See cssPixelsPerInch in src/3rdparty/webkit/Source/WebCore/css/CSSHelper.h