Your best bet IMO would be to just get some motors rated for a minimum of like 6 volts and give them a big gear ratio like 100:1 so you get a lot of torque and just put 1 at each of the 2 joints with a remote receiver that takes 1 nibble(4 bits) binary commands to be able to discern what motor is being told to do what. Ill post a little table at the bottom here because ive got the time
Nibble | Hex | Dec | Wall Joint Motor Function | Middle Joint Motor Function
0000 | 0 | 0 | Dont Move | Dont Move
0001 | 1 | 1 | Spin Clockwise | Dont Move
0010 | 2 | 2 | Spin Counter Clockwise | Dont Move
0011 | 3 | 3 | Spin Clockwise | Spin Clockwise
0100 | 4 | 4 | Spin Clockwise | Spin Counter Clockwise
0101 | 5 | 5 | Spin Counter Clockwise | Spin Clockwise
0111 | 6 | 6 | Spin Counter Clockwise | Spin Counter Clockwise
1000 | 7 | 7 | Punch Nearest Person | Point And Laugh
1001 | 8 | 8 | Take Over Planet | Point And Laugh
1010 | 9 | 9 | Black Mail Owner | Point And Laugh
1011 | A | 10 | Mug Nearest Person | Kick Them In Kidneys
1100 | B | 11 | Save Kitteh From Tree | Pet Teh Kitteh
Oh, and dont forget limit switches so you dont burn out the motors. Those are extremely simple to add in... that or have a current sense IC to detect when the motors are being hindered more than they usually should be when not moving anything more than the TV (Like if it tries to go through a wall, the motors will draw more current than usual. Simply make it so that if the motors draw more than the normal current for more than 1000ms to shut them off or maybe even reverse them for like 2s
Hope this helped a little tiny bit
I can post pseudo-code too if you like
Real pseudo-code too, not with the crazy joking stuff up there ^