Optimise a repeatedly used macro
Save ~2.5k from the module, fix a couple of error exit bugs, while also allowing it to be softloaded on ARMv2 vintage again.
This carbon offsets the space added to RiscOS/Sources/Apps/Paint!18 so I don't feel too guilty.