Extract style information into a DrawingContext

We want to be able to:

1. specify style information incrementally. E.g. an image
could specify that it has a wide line width but allow colour to be
specified by the caller. This requires we carry around Option[Foo] for
each Foo element of styling information

2. correctly calculate bounding boxes to account for line width

The DrawingContext enables both of these. We currently have 1. The
second part will come later, adding a compilation stage where we
accumulate all style information ot use for layout.

Also updated to 0.6-M2, for no particular reason (actually to see if
scalaz applicative worked; it apparently doesn't). Not sure how to get
the workbench reloading with the changed Scala.js SBT plugin so you now
have to manually refresh the page.