Uses the GCC Preprocessor and Macros to create Classes in JavaScript