Upgrade gcc4mbed project used by Smoothie.
Main updates:
* Now uses GCC ARM Embedded 4.6.2012-q1-update
* mbed SDK version upgraded from version 28 to 43.
* Now uses header dependencies to make incremental build more useful. No
longer do you need to run "make clean" before each build that contained
header changes.
* Treats .c files as C code and not C++. The mbed guys have finally made this
change for the online compiler so I have switched to match it. It does mean
that some .c files now need to be renamed to .cpp if they #include a C++
header such as mbed.h
* I have tried to trim out some of the fat in the build and produce smaller
binaries than what were created previously by gcc4mbed based projects. Still
no where close to being as small as what the online compiler produces.