your ideas sound really interesting, but i have a few questions & comments.
about not having an inverse sin function...the standard C math library, math.h, implements asin(). also, it defines some constants like M_PI which are quiet useful. you can read more on it here:
http://www.opengroup.org/onlinepubs/.../xsh/asin.html
you mentioned that your wheels will pivot 180 degrees. if you want to swerve, then wouldn't your modules need to be able to turn infinitely in any direction? if you're trying to move in a full circle (without changing orientation), then you'd only be able to complete a quarter of the turn since your wheels wouldn't pivot past 0 degrees (or 180 in the other direction). am i not understanding how this is supposed to work?
when in car or angle mode, i would imagine that for steering, you'd want to wheels to be pointing forward (90 degrees) when the joystick is centered horizontally. how do you plan to realign the wheels when the joystick is centered?