better bind, use native fn.bind if available
implement TileLayer on top of GridLayer