Ok. I can suggest a couple of approaches.
Tpic6/a/b/c/595 chips. These are medium current shift registers. Unlike regular 74hc595 shift registers, the tpic series can deal with 12V and from between 100mA and 350mA per channel, and each chip has 8 channels. For 128 segments you would need 16 of these chips. They can be daisy-chained so that only 3 Arduino pins are needed for all 16 chips. The outputs are on/off, so for dimming, the Arduino would need to pwm the outputs at high speed. Using the Arduino's SPI interface combined with bit-angle-modulation, I think 256 dimming levels could be achieved while still having enough processing power available to run some pre-set timed or sensor activated sequences, and avoiding flicker.
Tlc5940 chips have 16 outputs and can also be daisy-chained so that only a few Arduino pins are needed. Each chip's output can deal with 12V strips up to 120mA and has 4000 available dimming levels. These chips perform the pwm dimming by themselves, so the Arduino only needs to send data when dimming levels need to change, and flickering would not be a concern.