look on my works, ye mighty, and despair!

initial implementation of the defrule macro along with render-ns