forked from: Dragging, rotating and zooming a card with the Matrix class

same shit except dragging corners zooms,
like in MSSurface