Earthquake shakes western Mexico