Move Crossable, Visible etc. to Tile; (*CameraWidget).Paint() optimization