Make tool skeleton subclassing-friendly
Rename tool.py to tool_base.py
Improve comment/documentation