extracted hammer dragging
using css translate instead of always calculating stageX and stageY in widgets
renamed stageX into offsetX to make it clearer