Allow real python dict in Cache

Makes it possible to store things a nicer way
Allow "progress" in JSON
Use sys.stdout.write instead of print in progress

For some reason, this avoids having multiple "lines" on top of each other, which was always due to print()' newlines. And this makes the client/js part much more stable.
"json" arg to output json feed