[ ] Left click on ship, right click on map = move command - get id of clicked ship, get the vector from ship to second click and limit to 1 unit magnitude.
[ ] Left click on ship, left click on ship = attack command - get id of first ship, get id of second ship, have first attack second
[ ] Extra state - IORef Maybe Entity - currently selected ship - remember to use locks
[ ] Up arrow key = send move list - send list of moves to server, read new board from server.