Add initial implementation of TinyG simulator.

TinyG firmware is compiled using the host gcc, and the most important I/O functions are either stubs or fakes.
For example, instead of reading from a serial port, the simulator reads from stdin. The output goes to stdout.

To build simulator: cd firmware/tinyg/sim && make
To run simulator: ./tinyg.elf
To debug simulator: gdb ./tinyg.elf