Fix Control Point state and valence check
Fix Control Point state and valence check

- Replace check if index == 0 and while statement into
`doesValenceMatch` method that produces more descriptive logging when
the parameters are insufficient
- Compute `[token command] == ` once per append command.
- Prevent Q and S control points from mixing
- Q and S use last point drawn as control if the previous command did
not produce a control point of that type.
- Move to point was producing a line after it moved to that point

JackLeeMing/PocketSVG,PatoBeltran/PocketSVG,PatoBeltran/PocketSVG,mitchellporter/PocketSVG,pocketsvg/PocketSVG,arielelkin/PocketSVG,arielelkin/PocketSVG,pocketsvg/PocketSVG,JackLeeMing/PocketSVG,pocketsvg/PocketSVG,mitchellporter/PocketSVG