Now we can provide and call function (static set only).
Big macro change:

- Macros can be used across templates by way of 'include'
 - Templates now generate a .h file that can be included in other
   templates to access their macros
 - Templates now generate a .defs files containing the macro names
   exported to help the compiler decide which is a param and which is
   not.

With this, bake.py should be feature-complete.  Now comes testing.