Layout and documents state serialization

Changes:
1. Added documents support in layout serialization
2. Added documents and tools state serialization, i.e. save a code editor file path to reload the file the next time application starts and etc.
3. Introduced ILayoutItem and moved there some common properties from ITool and IDocument.
4. Fixed a typo in GraphView.xaml (was "{d:DesignInstance dd:DesignTimeGraphViewModel, IsDesignTimeCreatable=True}")