Introduce saving and loading of custom and preset window layouts
Summary:
Adds functionality to save the current MxN window layout (including view directions and sizes) to .json file and load such files. This is controlled from the existing popup widget that sets the current layout grid. Additionally, one can select a layout preset from the same widget.
T26555
Test Plan: Try out all the functionalities. Change the layout a bit (by changing the number of windows, their size and view direction), save it to a file, make further changes, and load the previous save. The provided preset should create a layout of two rows, each containing three windows corresponding to the possible view directions. If you are especially adventurous, twiddle around in a layout file by hand and try more exotic designs (e.g. more nesting, non-rectangular).
Reviewers: O1 MITK Reviewer Group I, O3 MITK Reviewer Group II, kalali, floca
Reviewed By: O1 MITK Reviewer Group I, O3 MITK Reviewer Group II, floca
Subscribers: kislinsk, floca
Maniphest Tasks: T26555
Differential Revision: https://phabricator.mitk.org/D778