Draw horizontal solid border lines directly in the pixel processor.

This makes slightly skinnier solid lines which look better on screen.

Change-Id: Ia7764be4a53d1dd6bb60ecb3ba5c8966403e4e6c
Better pixelization of dashed lines for screen rendering.

Now the dashed lines are evenly placed on screen.  For now, horizontal lines
only.  I'll work on vertical lines later.

Change-Id: I474e9c8214e5f079ea2cfca12b35381d8fcf2ae1
Add vertical lines for testing.

Change-Id: I93d3613547b74a37cebbb6e791e0d23ea405401b
Same solid line treatment for vertical lines during on-screen drawing.

Change-Id: Idb352dc2afeb2ee7b48620c972c2a186209228ea
Better on-screen drawing of vertical dashed lines.

Change-Id: I53d5f8b0278d1228cd941221a07cd360943c5ce6
Substitute dashed line with a solid line at lower zoom levels.

Change-Id: I0437409b6a5d6163fadf777df5c028950727e786
Do the same when the pixel thickness is zero.

Change-Id: Icfbb295abb19cf58477f4f14f4a7294a540151c2
Ensure that the pixel line is at least 1 pixel wide.

Without this, some dashed lines may not get drawn at all at some zoom levels.

Change-Id: I273c1548325d14f56618df8ca4166aac58a3ff3f
Handle double lines for screen rendering.

Double lines are always drawn as 2 parallel hair lines that are 1 pixel
apart, at any zoom level.

Change-Id: I2796477d0ea45c9880aa8057bd1a10104df96673