Add a user-defined account order, shared between the dashboard and the
accounts page, persisted server-side.
- accounts table gets a `position` column, backfilled per user from the
previous type/name ordering so existing layouts are preserved
- both views order by `position` and expose a drag handle (GripVertical)
via a shared SortableGrid component built on @dnd-kit
- pointer drag starts after a small move; touch drag starts on a long
press, so quick swipes still scroll on mobile (single-column there)
- the accounts page is now a flat list (type grouping dropped) so the
order matches the dashboard exactly
- PATCH accounts/reorder persists the order; reorder is optimistic and
avoids refetching the deferred dashboard metrics