do not set Tile.SIZE in MapView constructor

this way users can change static Tile.SIZE before initiating
the MapView.
cleanup: MapView
make fields protected to allow extending MapView