title: HTML5 Canvas Drag and Drop with snap-to-grid and revert support
body: <p>I have a html5 canvas with 10x10 grid. 
  User can drag and drop tetrix-like object inside that grid.
  Objects must be snapped to the grid (on drag) and if it is dropped on other objects, it must revert to the original position.
  (like JqueryUI draggable)</p>
  
  <p>I know that EaselJS, KineticJS support drag&amp; drop. 
  But I cannot find any documentation or tutorial to implement snap and revert support.
  Is there any existing solution or do I have to roll my own?</p>