multiple servo control with processing

Hi I'm a noob...

I want to control up to 54 servos simultaneously , the angles and speeds are sent from Processing patch.

that's a ton of servos, so can you tell me which is the smoothest way?

I'm thinking about sending data from Processing to Arduino through Serial - string method or bytes.

or instead using Processing Firmata library - that's a easier coding right?

sholud I be getting PWM driver(TLC5940) to expand more pins or will It do just fine with 74HC595 ?

does Arduino has enough processing power to do so?

and to powerup 54 servos at a time(Hitec HS-311), is there anything I need to be aware?

what power solution is most likely be ideal or is it ok to power it all from a single Arduino board(Mega)?

Please don't post the same thing in multiple places (i.e. cross posting).
A moderator will move it to the correct forum if needed.