main is a bad file for the main project

Arduino.mk and friends automatically produce a main.o that calls setup() and
loop() for you, and this is masked my main if your file is called main.c.
Rename files to .ino to make the build IDE happy
I made my own pcd8544 driver. Ooops.
I made my own timing functions. Again, ooops...
Move closer to getting stuff compiling

Add include guards, fix defines, change references, fix syntax errors

Move global variables to getters.

Basically, fix stuff!
Support newer versions of Arduino.mk
Workaround for known Arduino.mk bug.

We can now actually compile!
Fix extremely obvious rounding error