Up to date with current GCC (4.6+), compatability with ATMega1280

This incorporates changes to make the project compile under the most up to date version of GCC, and also adds support for the ATMega1280 MCU.

Unfortunately, the code for atmega328 and atmega168 is slightly over 2KB, although this is odd because I believe that is only up to the compiler changes (I didn't make changes to the core code for these). Seems gcc -flto may not be as good as -fwhole-program with -combine, or some optimizations have been removed or altered. Haven't looked into it yet, it may take some perusing of the old generated binaries vs. the current ones.