Learning to Design and Use Tools for Robotic Manipulation