Macro Versions of Arduino Functions

If the compiler could figure out if you were using a variable or a define, then it could either expand the macro or add the call to the existing function. Otherwise you'd need another set of names for the macro versions.

My usual practice is to just bypass pinmode, digitialread and digitalwrite and go directly to the registers.