A simple macro works

1) a simple macro system:

    ;; note: define-macro is itself a macro
    ;> (define-macro (sqr x) `(* ,x ,x))
    sqr

    ;> (sqr 12)
    144

    ;; to see the macro function
    ;> (lookup-macro 'sqr)
    ((x) (<compiled code here>)...)

    ;; to expand a macro
    ;> ((lookup-macro 'sqr) '(+ 4 3))
    (* (+ 4 3) (+ 4 3))

    ;; yeah, a global variable :(
    ;> *macros*
    <some long rubbish>

2) opcodes are now printed as #DUM#, #LDC#, etc