Added a way to declare functions for components within the obfuscated-code
candidate that is the DEFINE_COMPONENT macro. Also added P99 to the project,
so now you need a C99 compiler to build :DDDDDDDDD. This commit actually took
a good chunk of time.  Preprocessor ain't quick work.