The problem at the moment is you're never releasing the document.onmousemove handler, and you're never attaching the document.onmouseup handler (you RemoveEventHandler it in handleEvent instead of adding). You need a separate mousemove handler and mouseup handler; the mouseup function should remove the document mouse events that were added in the mousedown handler, then call back to do whatever function the drag is intended to achieve.
Plus, if you don't want the browser's own dragging actions to interfere with your UI, you'll need to prevent the default action for the mousedown event. This is done with return false in old-school event-handler functions, window.event.returnValue in IE and event.preventDefault() in DOM Events, so it's something you'd want EventUtil to wrap.
I'm not sure the EventUtil is worth much in this case. You're only using one event handler for each target, so sticking to the simple onevent= handler style should be fine. If you do sometimes need multiple listeners, it's probably best to make it throw an error when neither addEventListener nor attachEvent are available, otherwise the fallback to on... will make the script behave inconsistently.