Draw grid lines under plot
Use with statement to allow painter to keep track of which widget is
being painted.

Move plotting code for generic plotters into dataDraw for clean up
Make remainder of widgets use with painter
Fixes for colorbar in new regime. Get rid of layer concept. Add new DirectPainter class.
Fix incorrect exception catch
Do not paint children while Graph painter open
Separate out margins calculation from drawing.
Fix margins
Get rid of concept of positions for widgets as it was only used for grid -
change to using bounds. Bring back layers, as reqd for axisgrids.
Draw axes in reverse order to fix self test. Clip gridlines to plot.
Fix self test for grid lines
Remove unneeded calls to Widget.draw()
Fix computeBounds calls
Fix colorbar positions and clipping
Fix error message in function widget
Several changes to axis implementation
Partially working broken axis
Move text rendering to function
Fix mirroring for broken axes
Fix grid lines for broken axis and axis ticks