multiple tools at once

- all tools extend from Tool, which provides an isUsing flag
- if a tool is in use, it receives all the events, until it stops being
in use
- if no tool is in use, then a set of tools is made available e.g. text,
resize, select.  where are evaluated in order