Change the way segments, points and handles are selected and deselected.

There is no interdependency anymore, except for selecting a segment selects the point and both handles, and selecting a curve selects both points and handles.

Closes #355
Fix comments.
Rename View#draw() -> View#update() and remove checkRedraw argument.

We always check for changes, since change propagation should work reliably.
Implement View#pause() and View#play() to start and stop animation.
Implement Item#getGlobalMatrix(), #globalToLocal() and #localToGlobal()

Closes #270.
Make sure items removed from DOM remove all their events and reinstall them again when reinserted.

Closes #254.
Implement Style#fontFamily and #fontWeight as a replacement for #font.

Closes #60.
Apply matrices before calculating boolean path operations.
Take matrices into account in PathItem#getIntersections()
Clean up _getCachedBounds() code.
More matrix related clean-ups.
Fix a newly introduced bug in drawSegments()
Merge git://github.com/paperjs/paper.js