Real player movement function. Player movement checks if it's a legal move - for now that just means "target tile is not solid."