add 'macros' option to compile()

preamble script with macro definitions, but can be
pretty much anything.

Signed-off-by: kat <kat@lua.cz>