Paths are clipped before they are rendered

Paths are clipped and only the visible parts are rendered. This improves the performance when working with long paths on inner zoom levels.

The pattern cache has been removed and redraw is triggered on moveend.