Mexico is a treasure trove for every kind of traveller, offering everything from idyllic beaches and lush jungles to ancient ruins and rich historical places.