Improve clicking to attack

Now we look at the cursor's grid position instead of doing messy
ScreenToWorld math. I also let units destroy themselves when their
health dropped to 0 or worse, and made sure that doesn't let
null-pointer exceptions occur on our hard-coded test attack structure.