Protocol: implemented download (save file to javascript canvas), fixes #52