Drawing optimisations

Strokes will now be combined with paths they intersect within their
group if the colours match. Strokes will be subtracted from paths they
intersect if the colours do not match.