Refactor MapFragment: extract all of painting to MapPainter