Implemented framework to unpack outlines. Text outline is implemented.

The based PackedShape now has two colors, fill_color and outline_color.
The ShapePipeline no longer holds onto DeviceGeometry objects for drawing.
After the ShapePipeline::prepare_to_draw, you can just bind and draw the DeviceGeometry
on your own.  This allows arbitrary DeviceGeometries to be drawn in the NodeGraphContext,
while holding the same ShapePipeline in the context.