Add DrawinCanvasViewModel, additional extension methods, tests, comments and refactoring