changed serialize functions from (type, T) to (var)
added value -> text conversion

Currently is just `std.json.Value.dump`, but with `std.debug.warn`
replaced with `std.io.OutStream.print`. The names are real messy and
the args could do with improvements, but it is usable right now.

I also opened https://github.com/ziglang/zig/issues/3008, and if it is
accepted this will be moved to the standard library.
stopped using anyerror
added serialize for tagged union an enum
Switched from zig-json to serdes

This is a pretty big restructure, this now just provides a couple of
functions that deal with the serializing and deserializing most types.
It also uses the std.json.(Value/ValueTree) types instead of rolling
custom ones, for no real reason. Need to reimplement conversion of a
Value/ValueTree to a json string, but I need to think if that change
should be in the standard library.
convert to text, except for array
Fixed broken test, added array and string types.

The problem was invalidating the stack, so this no longer does that.
added new test, it currently fails
added struct to json