Snap fixes

this fixes some of the issues with snapping dock frames:

1) Can now have independently linked groups
2) Z-order of groups works correctly
3) Can snap to any edge, not just opposite edges.