Fix issue #29 that last curve is missing

@szimek as we are repeating two start points in `_addPoint()`, it might be reasonable to repeat two end point as well.

I did some test on current version. There are several cases.

## single click

this.points.length is 1, this.point[0] is the same position of event, we should draw a point

## very short stroke

this.points.length is 1, this.point[0] is not the same position of event, we should draw a straight line. This can be covered by pushing two end points then trigger the 3 points hack in _addPoint().

## normal stroke

this.points.length is >=2, this.point[length - 1] is not the same position of event, we should push two end point to draw the last curve.

So, my preference would be remove the three points hack in `_addPoints()` and repeat `_strokeUpdate()` in both `_strokeBegin()` and `_strokeEnd()`, what do you think?