Targeting [WIP]

Trying my hand at #7091 I'm noticing how #6015 fixed a lot of stuff. so that's all good.

As the demo code included below shows, we have a new problem with aiming.  Fire something, Esc and retarget. you will likely also see the sudden emergence of a few phantom entries in the target list.

Will fix and ammend, but I thought I'd show the in progress work first since it documents the error first.