adjustmask() now uses visor_flags and visor_flags_inv

This means that it works similarly to the riot helmet.
visor_flags/visor_flags_inv are removed from flags/flags_inv whilst the mask is adjusted and are re-applied once the mask is returned to its default position.

Fixes #5461