LDEV-3115: Save LD preparations. Adapt ObjectExtractor so it reads from JSON. Add "Save" and "Save as" buttons. Allow choosing where to save the LD, along with some validation. Partial LD serialization.
LDEV-3115: Allow loading and remembering groups to branches mappings. Add Zoom Out button for presentation purposes. Add Canvas and Description tabs. Add a tip when user clicks Transition button. Multiple minor fixes.
LDEV-3115: Allow branching in the same row when rearranging activities, if it is not too long. Add partial branching properties dialog. Add "transition" button. Several bug fixes and adjustments.
LDEV-3115: Add more properties for Grouping activities. Make them show/hide/change when needed. Set properties correctly when loading LDs. Fix arranging activities on canvas when loading complex branching activities.
LDEV-3115: Add copy & paste for activities. Ensure HTML IDs are unique within the document. Add properties to Tool and Gate activities. Remove info dialog from static HTML and create it dynamically via jQuery. Initialise folder and LD tree just once and only load contents when dialog is opened. Allow loading LDs with branches. Make canvas rearrange/resize after a load. Fix translating coordinates from events to Raphael paper. Mulitple minor adjustments and bug fixes.
LDEV-3115: Fix rubbish bin functionality when canvas gets scrollable. Add properties dialog contents for Tool and Grouping activities. Allow choosing Grouping for a Tool activity. Redraw activity when its properties changed.