This is something I'd been trying to get to work, so this is very helpful. What would you need to do to let the player control rotation? I'm thinking of using this method for a targeting cursor that rotates around the main character when the player aims.
Something like:
sprite set position to player.x +cos(angle(player.x,player.y,mouse.x,mouse.y))*dist
player.y +sin(angle(player.x,playr.y,mouse.x,mouse.y))*dist