Added shape validation, confirm shape deletion. Refactored some CanvasView methods.