Address review on context-menu target ownership and MenuRow typing.
- `ui-workspace` declares the `workspace` target and `ui-conversation`
declares `sessionHeader`; `ui-context-menu` no longer depends on
`@deepseek-ai/dsh-workspace`.
- Remove `buttonTargetKey`. A shared button now toggles only the popup it
opened, tracked by its instance id, so the menu service needs no
per-kind identity rule.
- Name the optional-or-undefined props helper in `MenuRow`, document its
package-internal props, and replace the `MenuDecoration` component with a
typed render helper.