Fix edge case for TT on/off-curve points.

When testing I found one edge case where the letter "O" doesn't render
correctly. The issue was reported in #18, and it looked fixed but for a
few characters.

The current implementation will start at the last point if the first
point is off-curve and the last point is on-curve. If both are
off-curve, it synthesizes a new midpoint.

This approach also avoids drawing zero-size lines by checking if the
last point was already consumed.