Graticule performance optimizations

- Do not draw lines whose extents don't intersect the frame state extent
- Do not recalculate the graticule while interacting or animating
- Re-use ol.geom.LineString objects