extensions CHANGE CHANGE cleanup API of the schema printer for extension plugins

Be more clear by what API of the compiled schema printer is available for the
extension plugins. While the printer context is needed, we want to keep its
members hidden to be able to make future changes. Therefore, there is only a
(possibly extensible in a future) set of getters to access the context's members
to be read and updated by the plugins' printer callbacks.

The patch also explicitely states the common compatible members of the
different schema printers.
diff --git a/src/plugins_exts_yangdata.c b/src/plugins_exts_yangdata.c
index f398cac..180de16 100644
--- a/src/plugins_exts_yangdata.c
+++ b/src/plugins_exts_yangdata.c
@@ -157,7 +157,7 @@
  * Implementation of ::lyext_clb_schema_printer set as ::lyext_plugin::sprinter
  */
 LY_ERR
-yangdata_schema_printer(struct lys_ypr_ctx *ctx, struct lysc_ext_instance *ext, ly_bool *flag)
+yangdata_schema_printer(struct lyspr_ctx *ctx, struct lysc_ext_instance *ext, ly_bool *flag)
 {
     lysc_print_extension_instance(ctx, ext, flag);
     return LY_SUCCESS;