You're going to have to decode the mp3 to a wave format, perform the mixing and then encode it back to an mp3 format.
Someone will have to point you to some mp3 libraries. I can help you with the actual mixing though.
It's kind of cool how this work actually. A sound file is just a bunch of amplitude samples recorded at a certain interval. This, for example, could be a sound:
0, 12, 128, 14, -1, -13, -128, -64, -32
Ok, it's a really short sound, but hang with me. Say I want to mix the above sound with this sound:
10, -12, -100, -150, -75, -25, -12, -0
This is the cool part, we just add the two arrays together:
10, 0, 28, -136, -76 ...
0 + 10 = 10
12 + -12 = 0
128 + -100 = 28
...
The only thing you really need to watch out for is the fact that there are limits to the amplitudes you can store in a wave file. Most these days are 16-bit but you can still make 8-bit wave files. If your amplitudes exceed the limits of the wave file, you'll have to go as high or as low as you can and cap it off.
Anyway, that's the jist of it. The finer points, will need to be worked out.