Reasoning about Hand-Drawn Sketches: An Approach Based on Intelligent Software Agents