add tab drag handler (just repositions tab to track cursor on click+drag)
show placeholder as tab is moved; swap before/after positions
keep tabs inside tab container while dragging
fire sunk events when drag is completed
pass mouseup events through to close button
synchronize tab order with source database and emit on init
deal gracefully with add/remove tabs after reorder
scroll left/right as needed while arranging tabs
more precise dragging to beginning/end of scroll list
sort popup panel in same order as document tabs
Merge branch 'feature/reorder-source-tabs'