This allows plugins to access all the data available to us in Chronik so they can later attach output data.
We wrap non-primitive types in Py wrappers, which allow plugins to access the data on the Python heap without having to build new object on every access.
See spec: https://ecashbuilders.notion.site/Chronik-Python-Plugin-Spec-9956b524cef54495b8fab3bf6e354151
Currently, this omits PluginData, which will be added in a later diff.