title: Can a canvas within a canvas easily be cleared from the main canvas?
body: <p>I'm currently working on an interface where I have a primary canvas that is 800x800 in size.  At the top I've generated a bunch of icons.  When a user mouses over the icons at the top, it matches his mouse's x and y coordinates to determine if he is currently hovering over any of the icons.  If he is, I want to have a hover effect where a label appears next to the mouse with the name of the icon.  As he moves, the label follows the mouse.  If he leaves the icon or moves to a different one, the last one is cleared, and either there is no label displayed (if the user moved off all icons), or another label is displayed next to the mouse in the last one's place (if he hovers over another icon, the width of the label is a variable length depending upon the width of the text).</p>
  
  <p>The process of ordering and displaying these icons all occurs within a separate object from the rest of the canvas renderings, thus I wouldn't exactly want to re-render that entire object to display the icons every time a <code>mousemove</code> event triggers, so I'm wondering if there's a way to draw to another "temporary" canvas' context and whether or not that could be easily cleared. as the mouse moves so there isn't any trails left behind on the primary canvas?  Can anyone point me in the direction of an example like this or advise me on how I should go about accomplishing this sort of task?</p>