shaper: improve skipping of zero-width characters
shaper: improve skipping of zero-width characters

The list was somewhat incomplete. Add what's important and left, and
disable removal if HarfBuzz is used. HarfBuzz removes these characters
now by itself. Refactor a little into a separate function.

tgoyne/libass,pigoz/libass-ct,astiob/libass,sanyaade-g2g-repos/libass,sanyaade-g2g-repos/libass,tgoyne/libass,xbmc/libass,xbmc/libass,torque/libass,mwgoldsmith/libass,pigoz/libass-ct,Akemi/libass,grigorig/libass,tgoyne/libass,richardpl/libass,Akemi/libass,ShiftMediaProject/libass,torque/libass,MrSmile/libass,blinkseb/libass,blinkseb/libass,mwgoldsmith/libass,libass/libass,sanyaade-g2g-repos/libass,grigorig/libass,richardpl/libass,blinkseb/libass,ShiftMediaProject/libass,stps/libass,MrSmile/libass,Akemi/libass,stps/libass,richardpl/libass,pigoz/libass-ct,stps/libass,libass/libass,astiob/libass,torque/libass,mwgoldsmith/libass