Replaced java.util.Map with fj.data.TreeMap
- blindly adapted Blob
- reverted to original fj then made all its classes implement Serializable. this should work fine as long as deserializing from trusted source?
- fixed renderCode depth nonsense
- noticed 2 defects that act like race conditions (although I was under the impression there is no concurrency involved anywhere):
  - Two CodeEditors get made at once. Clicking "+" to add a new code multiple times fast right when the program starts reproduces this on both phone and in x86 vm
  - Right when a CodeEditor is made, click "+" multiple times to add new fields/variants. sometimes it appears that the same field was added twice, although this is impossible in the underyling structure. seems the UI buttons are both adding to the same "container"
- noticed stack is very small (seen stackoverflow at 50 stack frames...). will need to hack the phone to work around this or rewrite code to use explicit stack encoded in the heap... pick your poison.