MouseListener behaviours have been factored out into concrete implementations of the Tool interface.
Merge origin/master