More robust coordinate keys for WMTS and TiledWMS

This uses more robust ZXY coordinate keys, and caches the key to avoid creating garbage each time getKeyZXY is called.