Consistently use single-quotes in specs.
Get rid of freeze / deepFreeze calls.
General improvements to the Color object.

Color now works properly with an empty constructor, numbers (including
grayscale), arrays, hex strings and other Color objects.

I've also included unit tests covering these use cases.
Nit-picking the naming of test specs.
Move g.noise to g.math.noise.
Add tests for the math module.
g.math.clamp is faster.
Combine g.math.mix and g.math.lerp.
Add the xy property and tests to Point.
Remove the Particle object.

This is more suited for another library.
More logical code organisation.

Legacy code and newer code where arbitrarily separated.
I've combined related code into useful categories.
Rename "elements" to "segments".

This is in line with the SVG specification, which uses the same naming.
The element.cmd is now called segment.type, also in accordance with the
spec.
Remove unnused "drawCommand" function.
Change Python-style to JavaScript-style comments.
Fix a bug in rgb2hex.

Small values would be converted to single-digit hexadecimal values
because of an incorrect length calculation.
More tweaks to comments.
Remove handles argument in curvePoint.

This argument is no longer used.
The snap function is now under g.math.snap.

The function is useful in its own right, not just inside the g.snap
filter.
g.ungroup is more resilient.

It can properly handle null values and non-shapes.
reflectPath uses better branching logic.