Как сделать так, чтобы ссылка плавала по странице, перемещалась, и её можно было перемещать самому?
Посмотрите Greenshock draggable демку. Физики (столкновений) тут тоже нет.
Также посмотрите на Box2d with DOM.
Вам нужно именно на HTML? Или на canvas тоже подойдёт? Потому как для canvas есть Box2d.js (например, гляньте вот эту демку. Тут на WebGL, но такое есть и для canvas).
Если не подойдёт, то придётся делать самому - определять столкновения и передавать импульс второму объекту.
Ну это не за три строчки кода решается. попатеть придется. 
Я бы начал с изучения вот этого 
jqueryui.com/draggable