Changed the rewrite logic to maintain an internal list of the current syntax definitions
Added very basic support for (non-hygenic) macros
Changed to use syntax-rules for the standard, non-built-in special forms, rather than having hand coded rewrite logic