I do a heck of a lot of web dev, and I've used DateTime and the time zone classes without any problems.
For example, you could just preload the time zones that your current users are using, which would almost certainly be a small fraction of all possible zones.
Since the time zone classes are generated, it'd be possible to generate XS code instead of Perl. Patches or a shipment of tuits would be extremely welcome.
The timezone modules use lots of spans, correct?
I have not verified this, but IF there is a lot of overlap of spans between various timezones, perhaps a 'span registry' could be shared between all the zone modules, thereby avoiding duplication of span objects.
Of course if there is no overlap of spans then the effort would be pointless.
Matt