This commit ports tgstation/tgstation#39991 and parts of
tgstation/tgstation#40350.
Primary changes:
- A radial menu system has been introduced, which can contain any
arbitrary sprite and be applied to any arbitrary object.
- RCDs take advantage of this radial menu system; Using them in-hand
will no longer directly bring up the UI, but instead, will bring up a
radial menu that can directly change between modes (as well as access
the old UI)