Handle msgpack and jsx in the transport test.
Disable complicated tests for now. Focus on simple tests.
Simplify the marshaler code.

* Lift more stuff to the top-level by breaking code into more functions.
* Remove unneeded functions make make case analysis more direct.
Simplify the main marshaler code.
Simplify the writer path some more

Introduce a helper funciton, emit_ground/4, which can handle ground objects directly. Employ this function directly to obtain a nicer way of handling objects.
Clean up stringable_keys/1 a bit.
Make the keyword :^ work.
Simplify the escaper.
Do not generate invalid codepoints in the surrogate character space.
remove wrong escaping in the read and write paths.
Generate smaller atoms and bound them at 2^16 which avoids atom table exhaustion.