Add Matrix object, Update Canvas object

Introducing Canvas.trace  
Trace collects all beginPath(), moveTo(), lineTo(), and stroke() into one entity called "trace".  
Trace is an array of array of points. An array of points is added to the trace array one at a time via addTrace(pointsArray), each of these array of points represents a continuous trace of a pencil without lifting the pencil off the paper.  
This is to help applying transformations to multiple points before they are stroked.