title: UIBezierPath stroke redraws it multiple times in touchesMoved
body: <p>I am implementing a coloring app in <code>Swift 3.0</code> which uses <code>UIBezierPath</code> for touch to fill coloring style. In <code>touchesBegan</code> I create the path:</p>
  
  <pre><code>touchFillPath = UIBezierPath()
  </code></pre>
  
  <p>and in <code>touchesMoved</code> I stroke it for each new point:</p>
  
  <pre><code>touchFillPath.addLine(to: location)
  touchFillPath.stroke()
  </code></pre>
  
  <p>but this results in the path stroked multiple times above the same area, and hence the selected color opacity changes. </p>
  
  <p>I need to stroke the path for each touchesMoved call to allow the user to see the area colored while he is moving touches.</p>
  
  <p>How can I stroke the same path multiple times without overriding the same area multiple times?</p>