Make Gr*ContextPriv class hierarchy parallel Gr*Context class hierarchy

Hopefully this will make it easier to add functionality to the Gr*ContextPriv classes.

This CL is mainly mechanical but did turn up some oddities:

GrDirectContext had a separate 'fShaderErrorHandler' member and a matching GrDirectContextPriv::getShaderErrorHandler method. This now falls back to GrBaseContextPriv::getShaderErrorHandler.

GrDirectContext::resetContextStats was const.

GrRecordingContextPriv's dump and dumpKeyValuePairs methods weren't const.

GrImageContextPriv::abandoned was const. GrImageContext::abandoned is not (bc GrDirectContext can abandon inside abandoned).

Change-Id: I25bb2160031de329d514b30c05752f1bdd1d5339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435716
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrContext_Base.cpp b/src/gpu/GrContext_Base.cpp
index 3426299..fd99704 100644
--- a/src/gpu/GrContext_Base.cpp
+++ b/src/gpu/GrContext_Base.cpp
@@ -53,7 +53,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 sk_sp<const GrCaps> GrBaseContextPriv::refCaps() const {
-    return fContext->refCaps();
+    return this->context()->refCaps();
 }
 
 GrContextOptions::ShaderErrorHandler* GrBaseContextPriv::getShaderErrorHandler() const {