Moving changing Platform and GraphicsContext to be abstract base classes