Abstract base class for GraphicsContexts

This is an ABC for GraphicsContexts.

This is currently for documentation purposes only, but the intent is that this would be a base class for the GraphicsContextBase class in basecore2d and independent implementations (such as agg) can at least `register()` with the ABC.