pygame backend improvements