Added initial support for tools
mouse shortcuts refactoring
Added initial support for items drag
Fixed undo when attributes are added or removed