Change read_pos()

- can cope with invalid input
- will retry until get valid x,y coordinate
- leave right value check to other sub routine
- still not handle gabage after the rigth coordinate correctly
  e.g.  '1,2,3' still consider correct input, will result x=1, y=2
  and completely ignore ',3'