Relative positioning refactor

Refactor the way relative positioning works. Relatively positioned elements now register event listeners on the target elements when they move. As a result, JSAV objects should be moved using the translate, translateX, translateY and moveTo functions instead of changing left/top CSS properties.

The reason for this refactoring was that the pointers did not work properly.