experimental macro support

Please move all of your classes to a subpackage, I only came up with `macroruler`. Maybe you have a better idea for a name?